From 87cfece2a67ad3520e55654f1f403144aaee1c4e Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Wed, 15 Feb 2023 08:38:27 -0500 Subject: [PATCH 01/36] Initial implementation of rush-http-build-cache-plugin --- apps/rush/package.json | 1 + apps/rush/src/start-dev.ts | 1 + .../enelson-http-cache_2023-02-15-13-36.json | 10 + .../rush/browser-approved-packages.json | 4 + common/config/rush/pnpm-lock.yaml | 29 ++ libraries/rush-lib/package.json | 3 +- .../src/pluginFramework/PluginManager.ts | 1 + .../rush-http-build-cache-plugin/README.md | 94 +++++ .../config/jest.config.json | 14 + .../config/rig.json | 18 + .../rush-http-build-cache-plugin/package.json | 36 ++ .../rush-plugin-manifest.json | 11 + .../src/HttpBuildCacheProvider.test.ts | 55 +++ .../src/HttpBuildCacheProvider.ts | 384 ++++++++++++++++++ .../src/RushHttpBuildCachePlugin.ts | 75 ++++ .../src/exec.test.ts | 13 + .../rush-http-build-cache-plugin/src/exec.ts | 35 ++ .../rush-http-build-cache-plugin/src/index.ts | 4 + .../src/schemas/plugin-config.schema.json | 39 ++ .../tsconfig.json | 6 + rush.json | 6 + 21 files changed, 838 insertions(+), 1 deletion(-) create mode 100644 common/changes/@microsoft/rush/enelson-http-cache_2023-02-15-13-36.json create mode 100644 rush-plugins/rush-http-build-cache-plugin/README.md create mode 100644 rush-plugins/rush-http-build-cache-plugin/config/jest.config.json create mode 100644 rush-plugins/rush-http-build-cache-plugin/config/rig.json create mode 100644 rush-plugins/rush-http-build-cache-plugin/package.json create mode 100644 rush-plugins/rush-http-build-cache-plugin/rush-plugin-manifest.json create mode 100644 rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts create mode 100644 rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts create mode 100644 rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts create mode 100644 rush-plugins/rush-http-build-cache-plugin/src/exec.test.ts create mode 100644 rush-plugins/rush-http-build-cache-plugin/src/exec.ts create mode 100644 rush-plugins/rush-http-build-cache-plugin/src/index.ts create mode 100644 rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json create mode 100644 rush-plugins/rush-http-build-cache-plugin/tsconfig.json diff --git a/apps/rush/package.json b/apps/rush/package.json index 23a6012fff3..51d9bae0c82 100644 --- a/apps/rush/package.json +++ b/apps/rush/package.json @@ -47,6 +47,7 @@ "@rushstack/heft-node-rig": "workspace:*", "@rushstack/rush-amazon-s3-build-cache-plugin": "workspace:*", "@rushstack/rush-azure-storage-build-cache-plugin": "workspace:*", + "@rushstack/rush-http-build-cache-plugin": "workspace:*", "@types/heft-jest": "1.0.1", "@types/node": "14.18.36", "@types/semver": "7.3.5" diff --git a/apps/rush/src/start-dev.ts b/apps/rush/src/start-dev.ts index 064b1f4f384..46e79f2c0b5 100644 --- a/apps/rush/src/start-dev.ts +++ b/apps/rush/src/start-dev.ts @@ -27,6 +27,7 @@ function includePlugin(pluginName: string, pluginPackageName?: string): void { includePlugin('rush-amazon-s3-build-cache-plugin'); includePlugin('rush-azure-storage-build-cache-plugin'); +includePlugin('rush-http-build-cache-plugin'); // Including this here so that developers can reuse it without installing the plugin a second time includePlugin('rush-azure-interactive-auth-plugin', '@rushstack/rush-azure-storage-build-cache-plugin'); diff --git a/common/changes/@microsoft/rush/enelson-http-cache_2023-02-15-13-36.json b/common/changes/@microsoft/rush/enelson-http-cache_2023-02-15-13-36.json new file mode 100644 index 00000000000..94560cc615a --- /dev/null +++ b/common/changes/@microsoft/rush/enelson-http-cache_2023-02-15-13-36.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Add built-in plugin rush-http-build-cache-plugin", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index 8a8d72ffe65..1ef3100cce9 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -34,6 +34,10 @@ "name": "@reduxjs/toolkit", "allowedCategories": [ "libraries" ] }, + { + "name": "@rushstack/rush-http-build-cache-plugin", + "allowedCategories": [ "libraries" ] + }, { "name": "@rushstack/rush-themed-ui", "allowedCategories": [ "libraries" ] diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 2a1a2e1f46e..38a8e3b685c 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -253,6 +253,7 @@ importers: '@rushstack/node-core-library': workspace:* '@rushstack/rush-amazon-s3-build-cache-plugin': workspace:* '@rushstack/rush-azure-storage-build-cache-plugin': workspace:* + '@rushstack/rush-http-build-cache-plugin': workspace:* '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 '@types/semver': 7.3.5 @@ -269,6 +270,7 @@ importers: '@rushstack/heft-node-rig': link:../../rigs/heft-node-rig '@rushstack/rush-amazon-s3-build-cache-plugin': link:../../rush-plugins/rush-amazon-s3-build-cache-plugin '@rushstack/rush-azure-storage-build-cache-plugin': link:../../rush-plugins/rush-azure-storage-build-cache-plugin + '@rushstack/rush-http-build-cache-plugin': link:../../rush-plugins/rush-http-build-cache-plugin '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 '@types/semver': 7.3.5 @@ -2397,6 +2399,33 @@ importers: '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 + ../../rush-plugins/rush-http-build-cache-plugin: + specifiers: + '@microsoft/rush-lib': workspace:* + '@rushstack/eslint-config': workspace:* + '@rushstack/heft': workspace:* + '@rushstack/heft-node-rig': workspace:* + '@rushstack/node-core-library': workspace:* + '@rushstack/rush-sdk': workspace:* + '@types/heft-jest': 1.0.1 + '@types/node': 14.18.36 + '@types/node-fetch': 2.6.2 + https-proxy-agent: ~5.0.0 + node-fetch: 2.6.7 + dependencies: + '@rushstack/node-core-library': link:../../libraries/node-core-library + '@rushstack/rush-sdk': link:../../libraries/rush-sdk + https-proxy-agent: 5.0.1 + node-fetch: 2.6.7 + devDependencies: + '@microsoft/rush-lib': link:../../libraries/rush-lib + '@rushstack/eslint-config': link:../../eslint/eslint-config + '@rushstack/heft': link:../../apps/heft + '@rushstack/heft-node-rig': link:../../rigs/heft-node-rig + '@types/heft-jest': 1.0.1 + '@types/node': 14.18.36 + '@types/node-fetch': 2.6.2 + ../../rush-plugins/rush-litewatch-plugin: specifiers: '@rushstack/eslint-config': workspace:* diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index 2d9daf24009..db57be7ae11 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -88,6 +88,7 @@ }, "publishOnlyDependencies": { "@rushstack/rush-amazon-s3-build-cache-plugin": "workspace:*", - "@rushstack/rush-azure-storage-build-cache-plugin": "workspace:*" + "@rushstack/rush-azure-storage-build-cache-plugin": "workspace:*", + "@rushstack/rush-http-build-cache-plugin": "workspace:*" } } diff --git a/libraries/rush-lib/src/pluginFramework/PluginManager.ts b/libraries/rush-lib/src/pluginFramework/PluginManager.ts index ee5b0a37549..01c3cc9f304 100644 --- a/libraries/rush-lib/src/pluginFramework/PluginManager.ts +++ b/libraries/rush-lib/src/pluginFramework/PluginManager.ts @@ -75,6 +75,7 @@ export class PluginManager { tryAddBuiltInPlugin('rush-amazon-s3-build-cache-plugin'); tryAddBuiltInPlugin('rush-azure-storage-build-cache-plugin'); + tryAddBuiltInPlugin('rush-http-build-cache-plugin'); // This is a secondary plugin inside the `@rushstack/rush-azure-storage-build-cache-plugin` // package. Because that package comes with Rush (for now), it needs to get registered here. // If the necessary config file doesn't exist, this plugin doesn't do anything. diff --git a/rush-plugins/rush-http-build-cache-plugin/README.md b/rush-plugins/rush-http-build-cache-plugin/README.md new file mode 100644 index 00000000000..abae1b4b19f --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/README.md @@ -0,0 +1,94 @@ +# @rushstack/rush-http-build-cache-plugin + +A Rush plugin that uses HTTP/HTTPS to manage cache objects. + +Authentication is provided via standard `Authorization` HTTP headers, with the value (a Bearer or Basic token) configured using a custom node script. Your "tokenHandler" node script is automatically called when the user updates their cloud credentials. + +## Configuration + +To use the HTTP build cache plugin, enable it in `common/config/rush/build-cache.json`: + +```json +{ + "buildCacheEnabled": true, + + "cacheProvider": "http" +} +``` + +Once enabled, configure the HTTP build cache in config file `common/config/rush-plugins/rush-http-build-cache-plugin.json`: + +```json +{ + "url": "https://build-cache.example.com", + "tokenHandler": "node common/scripts/custom-script-that-returns-an-authentication-header.js", + "isCacheWriteAllowed": false +} +``` + +- url: The server to store cache objects. +- tokenHandler: A script that can print the Authorization header expected by the server. The value printed to `stdout` by this command should be an exact header, for example, `Bearer ab98d8c878d937290d979a9097c90dfffff` or `Basic 098abc7dff==`. +- isCacheWriteAllowed: A flag that determines if the plugin should write to the cache. + +## HTTP Cache Server Requirements + +The HTTP build cache plugin can use almost any HTTP/HTTPS backend for remote caching, as long as it honors the following rules: + + - Uses `Authorization: Bearer xxx` or `Authorization: Basic xxx` headers for authentication. + - Accepts GET requests for cache reads. + - Accepts PUT requests for cache writes (with a raw request body -- no `form/multipart`). + - Cache hits return HTTP 200 with the file in the response body. + - Successful cache writes return HTTP 2xx (200-299). + - Cache misses return HTTP 404 or HTTP 403. + - Invalid or missing authentication returns HTTP 401. + +## Examples + +### Gradle Build Cache Server + +The Gradle Build Cache Server (typically used to support Gradle Remote Build Cache) meets all of the requirements above, so if you don't have another server in mind, you can use it as your remote backend. + +First, start up and configure your build cache node locally: + + - Download latest JAR file from https://docs.gradle.com/build-cache-node/ + - Start the service: `java -jar build-cache-node-14.0.jar start` + - Copy the startup banner information, and navigate to the specified localhost port + - Enter the temporary username/password credentials printed in the startup banner + - Click Build Cache > Settings > Cache Access Control and grant "Read & write" access to Anonymous + +Second, create your `rush-http-build-cache-plugin.json` file as described in the Configuration section: + + - Note that your `url` should end with `/cache`, for example, `http://localhost:5071/cache` + - To test reading and writing, set `isCacheWriteAllowed: true`. + - Configure `tokenHandler` to point to a script that prints a Basic or Bearer Authorization value (this can be a dummy string if you granted Read and Write to Anonymous in your build cache node configuration). + +Note that the Gradle Build Cache Server has a stricter format for its cache keys (they should be a simple hexadecimal hash with no non-alphanumeric characters). Configure this setting in your `common/config/rush/build-cache.json` file: + +```json +{ + "cacheEntryNamePattern": "[hash]" +} +``` + +Last, initialize your cache credentials using Rush: + +```console +rush update-cloud-credentials --interactive +``` + +To test out your remote build cache with full debugging output (for spotting any errors reading or writing the cache), run with the `--debug` flag: + +```console +rush --debug build --verbose +``` + +> If you go on to deploy Rush remote build caching to your developers using the Gradle Build Cache, update your `tokenHandler` +> script to reflect your use case -- for example, you could require each developer to have a designated username/token configured +> via environment variables, and configure Cache Access Control with the corresponding entries. In this case the `tokenHandler` +> script should read the environment variables and print out an Authorization header, for example: +> +> ```javascript +> // common/scripts/build-cache-auth.js +> const credentials = `${process.env.CACHE_USER}:${process.env.CACHE_TOKEN}`; +> console.log('Basic ' + Buffer.from(credentials).toString('base64')); +> ``` diff --git a/rush-plugins/rush-http-build-cache-plugin/config/jest.config.json b/rush-plugins/rush-http-build-cache-plugin/config/jest.config.json new file mode 100644 index 00000000000..fa6760fad1e --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/config/jest.config.json @@ -0,0 +1,14 @@ +{ + "extends": "@rushstack/heft-node-rig/profiles/default/config/jest.config.json", + "clearMocks": true, + "restoreMocks": true, + "collectCoverage": true, + "coverageThreshold": { + "global": { + "branches": 4, + "functions": 15, + "lines": 4, + "statements": 4 + } + } +} diff --git a/rush-plugins/rush-http-build-cache-plugin/config/rig.json b/rush-plugins/rush-http-build-cache-plugin/config/rig.json new file mode 100644 index 00000000000..f497ba3bb0a --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/config/rig.json @@ -0,0 +1,18 @@ +{ + // The "rig.json" file directs tools to look for their config files in an external package. + // Documentation for this system: https://www.npmjs.com/package/@rushstack/rig-package + "$schema": "https://developer.microsoft.com/json-schemas/rig-package/rig.schema.json", + + /** + * (Required) The name of the rig package to inherit from. + * It should be an NPM package name with the "-rig" suffix. + */ + "rigPackageName": "@rushstack/heft-node-rig", + + /** + * (Optional) Selects a config profile from the rig package. The name must consist of + * lowercase alphanumeric words separated by hyphens, for example "sample-profile". + * If omitted, then the "default" profile will be used." + */ + "rigProfile": "default" +} diff --git a/rush-plugins/rush-http-build-cache-plugin/package.json b/rush-plugins/rush-http-build-cache-plugin/package.json new file mode 100644 index 00000000000..9e289c5a2b0 --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/package.json @@ -0,0 +1,36 @@ +{ + "name": "@rushstack/rush-http-build-cache-plugin", + "version": "5.92.0", + "description": "Rush plugin for generic HTTP cloud build cache", + "repository": { + "type": "git", + "url": "https://github.com/microsoft/rushstack", + "directory": "rush-plugins/rush-http-build-cache-plugin" + }, + "homepage": "https://rushjs.io", + "main": "lib/index.js", + "types": "lib/index.d.ts", + "license": "MIT", + "scripts": { + "build": "heft build --clean", + "start": "heft test --clean --watch", + "test": "heft test", + "_phase:build": "heft build --clean", + "_phase:test": "heft test --no-build" + }, + "dependencies": { + "@rushstack/node-core-library": "workspace:*", + "@rushstack/rush-sdk": "workspace:*", + "https-proxy-agent": "~5.0.0", + "node-fetch": "2.6.7" + }, + "devDependencies": { + "@microsoft/rush-lib": "workspace:*", + "@rushstack/eslint-config": "workspace:*", + "@rushstack/heft": "workspace:*", + "@rushstack/heft-node-rig": "workspace:*", + "@types/heft-jest": "1.0.1", + "@types/node": "14.18.36", + "@types/node-fetch": "2.6.2" + } +} diff --git a/rush-plugins/rush-http-build-cache-plugin/rush-plugin-manifest.json b/rush-plugins/rush-http-build-cache-plugin/rush-plugin-manifest.json new file mode 100644 index 00000000000..126dfa796b3 --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/rush-plugin-manifest.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush-plugin-manifest.schema.json", + "plugins": [ + { + "pluginName": "rush-http-build-cache-plugin", + "description": "Rush plugin for generic HTTP build cache", + "entryPoint": "lib/index.js", + "optionsSchema": "lib/schemas/plugin-config.schema.json" + } + ] +} diff --git a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts new file mode 100644 index 00000000000..20da3767c5e --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts @@ -0,0 +1,55 @@ +jest.mock('node-fetch', function () { + return Object.assign(jest.fn(), jest.requireActual('node-fetch')); +}); + +import fetch, { Response } from 'node-fetch'; +import { HttpBuildCacheProvider } from './HttpBuildCacheProvider'; +import { RushSession, EnvironmentConfiguration } from '@rushstack/rush-sdk'; +import { StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-library'; + +const EXAMPLE_OPTIONS = { + url: 'https://buildcache.example.acme.com', + tokenHandler: 'node tokenHandler.js', + uploadMethod: 'POST', + isCacheWriteAllowed: false, + pluginName: 'example-plugin', + rushProjectRoot: '/repo' +}; + +describe('HttpBuildCacheProvider', () => { + let terminalBuffer: StringBufferTerminalProvider; + let terminal!: Terminal; + + beforeEach(() => { + terminalBuffer = new StringBufferTerminalProvider(); + terminal = new Terminal(terminalBuffer); + }); + + describe('tryGetCacheEntryBufferByIdAsync', () => { + it('prints warning if read credentials are not available', async () => { + jest.spyOn(EnvironmentConfiguration, 'buildCacheCredential', 'get').mockReturnValue(undefined); + + const session: RushSession = {} as RushSession; + const provider = new HttpBuildCacheProvider(EXAMPLE_OPTIONS, session); + + mocked(fetch).mockResolvedValue( + new Response('Unauthorized', { + status: 401, + statusText: 'Unauthorized' + }) + ); + + const result = await provider.tryGetCacheEntryBufferByIdAsync(terminal, 'some-key'); + expect(result).toBe(undefined); + expect(fetch).toHaveBeenCalledWith('https://buildcache.example.acme.com/some-key', { + body: undefined, + headers: {}, + method: 'GET', + redirect: 'follow' + }); + expect(terminalBuffer.getWarningOutput()).toEqual( + 'Error getting cache entry: Error: Credentials for https://buildcache.example.acme.com/ have not been provided.[n]In CI, verify that RUSH_BUILD_CACHE_CREDENTIAL contains a valid Authorization header value.[n][n]For local developers, run:[n][n] rush update-cloud-credentials --interactive[n][n]' + ); + }); + }); +}); diff --git a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts new file mode 100644 index 00000000000..64abea7b8ad --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts @@ -0,0 +1,384 @@ +import { ITerminal } from '@rushstack/node-core-library'; +import { + ICloudBuildCacheProvider, + ICredentialCacheEntry, + CredentialCache, + RushSession, + EnvironmentConfiguration +} from '@rushstack/rush-sdk'; +import fetch, { BodyInit, Response } from 'node-fetch'; +import { exec } from './exec'; + +enum CredentialsOptions { + Optional, + Required, + Omit +} + +enum FailureType { + None, + Informational, + Warning, + Error, + Authentication +} + +/** + * @public + */ +export interface IHttpBuildCacheProviderOptions { + url: string; + tokenHandler?: string; + uploadMethod?: string; + headers?: Record; + cacheKeyPrefix?: string; + isCacheWriteAllowed: boolean; + pluginName: string; + rushProjectRoot: string; +} + +export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { + private readonly _pluginName: string; + private readonly _rushSession: RushSession; + private readonly _rushProjectRoot: string; + private readonly _environmentCredential: string | undefined; + private readonly _isCacheWriteAllowedByConfiguration: boolean; + private readonly _url: URL; + private readonly _uploadMethod: string; + private readonly _headers: Record; + private readonly _cacheKeyPrefix: string; + private readonly _tokenHandler: string | undefined; + private __credentialCacheId: string | undefined; + + public get isCacheWriteAllowed(): boolean { + return EnvironmentConfiguration.buildCacheWriteAllowed ?? this._isCacheWriteAllowedByConfiguration; + } + + public constructor(options: IHttpBuildCacheProviderOptions, rushSession: RushSession) { + this._pluginName = options.pluginName; + this._rushSession = rushSession; + this._rushProjectRoot = options.rushProjectRoot; + + this._environmentCredential = EnvironmentConfiguration.buildCacheCredential; + this._isCacheWriteAllowedByConfiguration = options.isCacheWriteAllowed; + this._url = new URL(options.url); + this._uploadMethod = options.uploadMethod ?? 'PUT'; + this._headers = options.headers ?? {}; + this._tokenHandler = options.tokenHandler; + this._cacheKeyPrefix = options.cacheKeyPrefix ?? ''; + } + + public async tryGetCacheEntryBufferByIdAsync( + terminal: ITerminal, + cacheId: string + ): Promise { + try { + const result = await this._http({ + terminal: terminal, + relUrl: `${this._cacheKeyPrefix}${cacheId}`, + method: 'GET', + body: undefined, + warningText: 'Could not get cache entry', + readBody: true + }); + + return Buffer.isBuffer(result) ? result : undefined; + } catch (e) { + terminal.writeWarningLine(`Error getting cache entry: ${e}`); + return undefined; + } + } + + public async trySetCacheEntryBufferAsync( + terminal: ITerminal, + cacheId: string, + objectBuffer: Buffer + ): Promise { + if (!this.isCacheWriteAllowed) { + terminal.writeErrorLine('Writing to cache is not allowed in the current configuration.'); + return false; + } + + terminal.writeDebugLine('Uploading object with cacheId: ', cacheId); + + try { + const result = await this._http({ + terminal: terminal, + relUrl: `${this._cacheKeyPrefix}${cacheId}`, + method: this._uploadMethod, + body: objectBuffer, + warningText: 'Could not write cache entry', + readBody: false + }); + + return result !== false; + } catch (e) { + terminal.writeWarningLine(`Error uploading cache entry: ${e}`); + return false; + } + } + + public async updateCachedCredentialAsync(terminal: ITerminal, credential: string): Promise { + await CredentialCache.usingAsync( + { + supportEditing: true + }, + async (credentialsCache: CredentialCache) => { + credentialsCache.setCacheEntry(this._credentialCacheId, { + credential: credential + }); + await credentialsCache.saveIfModifiedAsync(); + } + ); + } + + public async updateCachedCredentialInteractiveAsync(terminal: ITerminal): Promise { + if (typeof this._tokenHandler !== 'string') { + throw new Error( + `The interactive cloud credentials flow is not configured.\n` + + `Set the 'tokenHandler' setting in 'common/config/rush-plugins/${this._pluginName}.json' to a command that writes your credentials to standard output and exits with code 0 ` + + `or provide your credentials to rush using the --credential flag instead. Credentials must be the ` + + `'Authorization' header expected by ${this._url.href}` + ); + } + + const cmd: string = this._tokenHandler; + terminal.writeVerboseLine(`Running '${cmd}' to get credentials`); + const result = await exec(cmd, this._rushProjectRoot); + + terminal.writeErrorLine(result.stderr); + + if (result.error) { + throw new Error(`Could not obtain credentials. The command '${cmd}' failed.`); + } + + const credential = result.stdout.trim(); + terminal.writeVerboseLine('Got credentials'); + + await this.updateCachedCredentialAsync(terminal, credential); + + terminal.writeLine('Updated credentials cache'); + } + + public async deleteCachedCredentialsAsync(terminal: ITerminal): Promise { + await CredentialCache.usingAsync( + { + supportEditing: true + }, + async (credentialsCache: CredentialCache) => { + credentialsCache.deleteCacheEntry(this._credentialCacheId); + await credentialsCache.saveIfModifiedAsync(); + } + ); + } + + private get _credentialCacheId(): string { + if (!this.__credentialCacheId) { + const cacheIdParts: string[] = [this._url.href]; + + if (this._isCacheWriteAllowedByConfiguration) { + cacheIdParts.push('cacheWriteAllowed'); + } + + this.__credentialCacheId = cacheIdParts.join('|'); + } + + return this.__credentialCacheId; + } + + private async _http(options: { + terminal: ITerminal; + relUrl: string; + method: string; + body: BodyInit | undefined; + warningText: string; + readBody: boolean; + credentialOptions?: CredentialsOptions; + }): Promise { + const { terminal, relUrl, method, body, warningText, readBody, credentialOptions } = options; + const safeCredentialOptions = credentialOptions ?? CredentialsOptions.Optional; + const credentials = await this._tryGetCredentials(safeCredentialOptions); + const url = new URL(relUrl, this._url).href; + + const headers: Record = {}; + if (typeof credentials === 'string') { + headers.Authorization = credentials; + } + + for (const [key, value] of Object.entries(this._headers)) { + if (typeof value === 'string') { + headers[key] = value; + } + } + + const bodyLength = (body as { length: number })?.length || 'unknown'; + + terminal.writeDebugLine(`[http-build-cache] request: ${method} ${url} ${bodyLength} bytes`); + + const response = await fetch(url, { + method: method, + headers: headers, + body: body, + redirect: 'follow' + }); + + if (!response.ok) { + if (typeof credentials !== 'string' && safeCredentialOptions === CredentialsOptions.Optional) { + // We tried fetching the resource without credentials and that did not work out + // Try again but require credentials this time + // This will trigger the provider to request credentials + return await this._http({ ...options, credentialOptions: CredentialsOptions.Required }); + } + + this._reportFailure(terminal, method, response, false, warningText); + return false; + } + + const result: Buffer | boolean = readBody ? Buffer.from(await response.arrayBuffer()) : true; + + terminal.writeDebugLine( + `[http-build-cache] actual response: ${response.status} ${url} ${ + result === true ? 'true' : result.length + } bytes` + ); + + return result; + } + + private async _tryGetCredentials(options: CredentialsOptions.Required): Promise; + private async _tryGetCredentials(options: CredentialsOptions.Optional): Promise; + private async _tryGetCredentials(options: CredentialsOptions.Omit): Promise; + private async _tryGetCredentials(options: CredentialsOptions): Promise; + private async _tryGetCredentials(options: CredentialsOptions): Promise { + if (options === CredentialsOptions.Omit) { + return; + } + + let credentials: string | undefined = this._environmentCredential; + + if (typeof credentials !== 'string') { + credentials = await this._tryGetCredentialsFromCache(); + } + + if (typeof credentials !== 'string' && options === CredentialsOptions.Required) { + throw new Error( + [ + `Credentials for ${this._url.href} have not been provided.`, + `In CI, verify that RUSH_BUILD_CACHE_CREDENTIAL contains a valid Authorization header value.`, + ``, + `For local developers, run:`, + ``, + ` rush update-cloud-credentials --interactive`, + `` + ].join('\n') + ); + } + + return credentials; + } + + private async _tryGetCredentialsFromCache(): Promise { + let cacheEntry: ICredentialCacheEntry | undefined; + + await CredentialCache.usingAsync( + { + supportEditing: false + }, + (credentialsCache: CredentialCache) => { + cacheEntry = credentialsCache.tryGetCacheEntry(this._credentialCacheId); + } + ); + + if (cacheEntry) { + const expirationTime: number | undefined = cacheEntry.expires?.getTime(); + if (!expirationTime || expirationTime >= Date.now()) { + return cacheEntry.credential; + } + } + } + + private _getFailureType(requestMethod: string, response: Response, isRedirect: boolean): FailureType { + if (response.ok) { + return FailureType.None; + } + + switch (response.status) { + case 503: { + // Don't fail production builds with warnings for transient issues + return FailureType.Informational; + } + + case 401: + case 403: + case 407: { + if (requestMethod === 'GET' && (isRedirect || response.redirected)) { + // Cache misses for GET requests are not errors + // This is a workaround behavior where a server can issue a redirect and we fail to authenticate at the new location. + // We do not want to signal this as an authentication failure because the authorization header is not passed on to redirects. + // i.e The authentication header was accepted for the first request and therefore subsequent failures + // where it was not present should not be attributed to the header. + // This scenario usually comes up with services that redirect to pre-signed URLS that don't actually exist. + // Those services then usually treat the 404 as a 403 to prevent leaking information. + return FailureType.None; + } + + return FailureType.Authentication; + } + + case 404: { + if (requestMethod === 'GET') { + // Cache misses for GET requests are not errors + return FailureType.None; + } + } + } + + // Let dev builds succeed, let Prod builds fail + return FailureType.Warning; + } + + private _reportFailure( + terminal: ITerminal, + requestMethod: string, + response: Response, + isRedirect: boolean, + message: string + ): void { + switch (this._getFailureType(requestMethod, response, isRedirect)) { + default: { + terminal.writeErrorLine(`${message}: HTTP ${response.status}: ${response.statusText}`); + break; + } + + case FailureType.Warning: { + terminal.writeWarningLine(`${message}: HTTP ${response.status}: ${response.statusText}`); + break; + } + + case FailureType.Informational: { + terminal.writeLine(`${message}: HTTP ${response.status}: ${response.statusText}`); + break; + } + + case FailureType.None: { + terminal.writeDebugLine(`${message}: HTTP ${response.status}: ${response.statusText}`); + break; + } + + case FailureType.Authentication: { + throw new Error( + [ + `${this._url.href} responded with ${response.status}: ${response.statusText}.`, + `Credentials may be misconfigured of have expired.`, + `In CI, verify that RUSH_BUILD_CACHE_CREDENTIAL contains a valid Authorization header value.`, + ``, + `For local developers, run:`, + ``, + ` rush update-cloud-credentials --interactive`, + `` + ].join('\n') + ); + } + } + } +} diff --git a/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts b/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts new file mode 100644 index 00000000000..2a206290b52 --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts @@ -0,0 +1,75 @@ +import { Import } from '@rushstack/node-core-library'; +import type { IRushPlugin, RushSession, RushConfiguration } from '@rushstack/rush-sdk'; +import type { HttpBuildCacheProvider, IHttpBuildCacheProviderOptions } from './HttpBuildCacheProvider'; + +const HttpBuildCacheProviderModule: typeof import('./HttpBuildCacheProvider') = Import.lazy( + './HttpBuildCacheProvider', + require +); + +const PLUGIN_NAME: string = 'HttpBuildCachePlugin'; + +/** + * @public + */ +export interface IRushHttpBuildCachePluginOptions { + /** + * The url to the service that caches builds. + */ + url: string; + + /** + * An optional set of HTTP headers to pass to the cache server. + */ + headers?: Record; + + /** + * An optional command that prints the endpoint's credentials to stdout. + */ + tokenHandler?: string; + + /** + * Prefix for cache keys. + */ + cacheKeyPrefix?: string; + + /** + * If set to true, allow writing to the cache. Defaults to false. + */ + isCacheWriteAllowed?: boolean; +} + +/** + * @public + */ +export class RushHttpBuildCachePlugin implements IRushPlugin { + public readonly pluginName: string = PLUGIN_NAME; + private readonly _options: IRushHttpBuildCachePluginOptions; + + public constructor(options: IRushHttpBuildCachePluginOptions) { + this._options = options; + } + + public apply(rushSession: RushSession, rushConfig: RushConfiguration): void { + rushSession.hooks.initialize.tap(this.pluginName, () => { + rushSession.registerCloudBuildCacheProviderFactory( + 'http', + (buildCacheConfig): HttpBuildCacheProvider => { + const { url, headers, tokenHandler, cacheKeyPrefix, isCacheWriteAllowed } = this._options; + + const options: IHttpBuildCacheProviderOptions = { + pluginName: this.pluginName, + rushProjectRoot: rushConfig.rushJsonFolder, + url: url, + headers: headers, + tokenHandler: tokenHandler, + cacheKeyPrefix: cacheKeyPrefix, + isCacheWriteAllowed: !!isCacheWriteAllowed + }; + + return new HttpBuildCacheProviderModule.HttpBuildCacheProvider(options, rushSession); + } + ); + }); + } +} diff --git a/rush-plugins/rush-http-build-cache-plugin/src/exec.test.ts b/rush-plugins/rush-http-build-cache-plugin/src/exec.test.ts new file mode 100644 index 00000000000..309806fcfbd --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/src/exec.test.ts @@ -0,0 +1,13 @@ +import { exec } from './exec'; + +describe('exec', function () { + it('can exec a process and capture output', async function () { + // Act + const cmd = process.argv0 + ` --eval "console.log(1); console.error(2); process.exit(3);"`; + const result = await exec(cmd, process.cwd()); + + expect(result.error?.message).toEqual(`Command failed: ${cmd}\n2\n`); + expect(result.stderr).toEqual('2\n'); + expect(result.stdout).toEqual('1\n'); + }); +}); diff --git a/rush-plugins/rush-http-build-cache-plugin/src/exec.ts b/rush-plugins/rush-http-build-cache-plugin/src/exec.ts new file mode 100644 index 00000000000..6952df1aee6 --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/src/exec.ts @@ -0,0 +1,35 @@ +import { exec as child_process_exec } from 'child_process'; + +/** + * The result of spawning a command + */ +export interface IExecResult { + /** + * The standard output of the spawned command + */ + stdout: string; + + /** + * The standard error of the spawned command + */ + stderr: string; + + /** + * The exit code of the spawned command + */ + error?: Error; +} + +/** + * Spawn a child process and obtain the contents of its output streams as text + * @param cmd - Command to execute + * @param args - Arguments to pass to command + * @returns The exit code and output of the executed command + */ +export function exec(cmd: string, cwd: string): Promise { + return new Promise(function (resolve: (result: IExecResult) => void, reject: (error: unknown) => void) { + child_process_exec(cmd, { cwd }, function (error, stdout, stderr) { + resolve({ stdout, stderr, error: error || undefined }); + }); + }); +} diff --git a/rush-plugins/rush-http-build-cache-plugin/src/index.ts b/rush-plugins/rush-http-build-cache-plugin/src/index.ts new file mode 100644 index 00000000000..17e67ac1859 --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/src/index.ts @@ -0,0 +1,4 @@ +import { RushHttpBuildCachePlugin } from './RushHttpBuildCachePlugin'; + +export default RushHttpBuildCachePlugin; +export { IHttpBuildCacheProviderOptions } from './HttpBuildCacheProvider'; diff --git a/rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json b/rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json new file mode 100644 index 00000000000..0d825245c0c --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json @@ -0,0 +1,39 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "Configuration for build cache with HTTPS server", + "type": "object", + "required": ["url"], + "properties": { + "url": { + "type": "string", + "description": "(Required) The URL of the server that stores the caches (e.g. \"https://build-caches.example.com\").", + "format": "uri" + }, + "method": { + "type": "string", + "description": "(Required) The URL of the server that stores the caches (e.g. \"https://build-caches.example.com\").", + "enum": ["PUT", "POST", "GET", "PATCH"], + "default": "PUT" + }, + "headers": { + "type": "object", + "description": "(Optional) HTTP headers to pass to the cache server", + "properties": {}, + "additionalProperties": { + "type": "string" + } + }, + "tokenHandler": { + "type": "string", + "description": "(Optional) Shell command that prints the authorization token needed to communicate with the HTTPS server and exits with code 0." + }, + "cacheKeyPrefix": { + "type": "string", + "description": "(Optional) prefix for cache keys." + }, + "isCacheWriteAllowed": { + "type": "boolean", + "description": "(Optional) If set to true, allow writing to the cache. Defaults to false." + } + } +} diff --git a/rush-plugins/rush-http-build-cache-plugin/tsconfig.json b/rush-plugins/rush-http-build-cache-plugin/tsconfig.json new file mode 100644 index 00000000000..6798ece7344 --- /dev/null +++ b/rush-plugins/rush-http-build-cache-plugin/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "./node_modules/@rushstack/heft-node-rig/profiles/default/tsconfig-base.json", + "compilerOptions": { + "types": ["node", "heft-jest"] + } +} diff --git a/rush.json b/rush.json index 085a872ecf9..56a875ca1fd 100644 --- a/rush.json +++ b/rush.json @@ -1020,6 +1020,12 @@ "reviewCategory": "libraries", "versionPolicyName": "rush" }, + { + "packageName": "@rushstack/rush-http-build-cache-plugin", + "projectFolder": "rush-plugins/rush-http-build-cache-plugin", + "reviewCategory": "libraries", + "versionPolicyName": "rush" + }, { "packageName": "@rushstack/rush-litewatch-plugin", "projectFolder": "rush-plugins/rush-litewatch-plugin", From 6bf411222bb0ff227226b9d5dde6ea84ebda2d9d Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Thu, 16 Feb 2023 07:36:22 -0500 Subject: [PATCH 02/36] update test workspace --- .../workspace/common/pnpm-lock.yaml | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml index 465cd095a32..3e43f0ef299 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -4,13 +4,13 @@ importers: rush-lib-test: specifiers: - '@microsoft/rush-lib': file:microsoft-rush-lib-5.90.2.tgz + '@microsoft/rush-lib': file:microsoft-rush-lib-5.92.0.tgz '@types/node': 14.18.36 colors: ^1.4.0 rimraf: ^4.1.2 typescript: ~4.8.4 dependencies: - '@microsoft/rush-lib': file:../temp/tarballs/microsoft-rush-lib-5.90.2.tgz_@types+node@14.18.36 + '@microsoft/rush-lib': file:../temp/tarballs/microsoft-rush-lib-5.92.0.tgz_@types+node@14.18.36 colors: 1.4.0 devDependencies: '@types/node': 14.18.36 @@ -19,17 +19,17 @@ importers: rush-sdk-test: specifiers: - '@microsoft/rush-lib': file:microsoft-rush-lib-5.90.2.tgz - '@rushstack/rush-sdk': file:rushstack-rush-sdk-5.90.2.tgz + '@microsoft/rush-lib': file:microsoft-rush-lib-5.92.0.tgz + '@rushstack/rush-sdk': file:rushstack-rush-sdk-5.92.0.tgz '@types/node': 14.18.36 colors: ^1.4.0 rimraf: ^4.1.2 typescript: ~4.8.4 dependencies: - '@rushstack/rush-sdk': file:../temp/tarballs/rushstack-rush-sdk-5.90.2.tgz_@types+node@14.18.36 + '@rushstack/rush-sdk': file:../temp/tarballs/rushstack-rush-sdk-5.92.0.tgz_@types+node@14.18.36 colors: 1.4.0 devDependencies: - '@microsoft/rush-lib': file:../temp/tarballs/microsoft-rush-lib-5.90.2.tgz_@types+node@14.18.36 + '@microsoft/rush-lib': file:../temp/tarballs/microsoft-rush-lib-5.92.0.tgz_@types+node@14.18.36 '@types/node': 14.18.36 rimraf: 4.1.2 typescript: 4.8.4 @@ -395,9 +395,12 @@ packages: /@types/node-fetch/2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 14.18.36 + '@types/node': 12.20.24 form-data: 3.0.1 + /@types/node/12.20.24: + resolution: {integrity: sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==} + /@types/node/14.18.36: resolution: {integrity: sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==} @@ -2103,7 +2106,7 @@ packages: hasBin: true /json-buffer/3.0.0: - resolution: {integrity: sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=} + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} /json-parse-even-better-errors/2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} @@ -3653,11 +3656,11 @@ packages: optionalDependencies: commander: 2.20.3 - file:../temp/tarballs/microsoft-rush-lib-5.90.2.tgz_@types+node@14.18.36: - resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.90.2.tgz} - id: file:../temp/tarballs/microsoft-rush-lib-5.90.2.tgz + file:../temp/tarballs/microsoft-rush-lib-5.92.0.tgz_@types+node@14.18.36: + resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.92.0.tgz} + id: file:../temp/tarballs/microsoft-rush-lib-5.92.0.tgz name: '@microsoft/rush-lib' - version: 5.90.2 + version: 5.92.0 engines: {node: '>=5.6.0'} dependencies: '@pnpm/link-bins': 5.3.25 @@ -3890,11 +3893,11 @@ packages: resolve: 1.22.1 strip-json-comments: 3.1.1 - file:../temp/tarballs/rushstack-rush-sdk-5.90.2.tgz_@types+node@14.18.36: - resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.90.2.tgz} - id: file:../temp/tarballs/rushstack-rush-sdk-5.90.2.tgz + file:../temp/tarballs/rushstack-rush-sdk-5.92.0.tgz_@types+node@14.18.36: + resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.92.0.tgz} + id: file:../temp/tarballs/rushstack-rush-sdk-5.92.0.tgz name: '@rushstack/rush-sdk' - version: 5.90.2 + version: 5.92.0 dependencies: '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.55.2.tgz_@types+node@14.18.36 '@types/node-fetch': 2.6.2 From 1b9fc2385d446ac89698f8b58d0685e8ac9cdc19 Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Thu, 16 Feb 2023 08:11:11 -0500 Subject: [PATCH 03/36] update README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f5e0ec89f5..1433532a4f7 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,7 @@ These GitHub repositories provide supplementary resources for Rush Stack: | [/rigs/heft-web-rig](./rigs/heft-web-rig/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fheft-web-rig.svg)](https://badge.fury.io/js/%40rushstack%2Fheft-web-rig) | [changelog](./rigs/heft-web-rig/CHANGELOG.md) | [@rushstack/heft-web-rig](https://www.npmjs.com/package/@rushstack/heft-web-rig) | | [/rush-plugins/rush-amazon-s3-build-cache-plugin](./rush-plugins/rush-amazon-s3-build-cache-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-amazon-s3-build-cache-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-amazon-s3-build-cache-plugin) | | [@rushstack/rush-amazon-s3-build-cache-plugin](https://www.npmjs.com/package/@rushstack/rush-amazon-s3-build-cache-plugin) | | [/rush-plugins/rush-azure-storage-build-cache-plugin](./rush-plugins/rush-azure-storage-build-cache-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-azure-storage-build-cache-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-azure-storage-build-cache-plugin) | | [@rushstack/rush-azure-storage-build-cache-plugin](https://www.npmjs.com/package/@rushstack/rush-azure-storage-build-cache-plugin) | +| [/rush-plugins/rush-http-build-cache-plugin](./rush-plugins/rush-http-build-cache-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-http-build-cache-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-http-build-cache-plugin) | | [@rushstack/rush-http-build-cache-plugin](https://www.npmjs.com/package/@rushstack/rush-http-build-cache-plugin) | | [/rush-plugins/rush-serve-plugin](./rush-plugins/rush-serve-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-serve-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-serve-plugin) | [changelog](./rush-plugins/rush-serve-plugin/CHANGELOG.md) | [@rushstack/rush-serve-plugin](https://www.npmjs.com/package/@rushstack/rush-serve-plugin) | | [/webpack/hashed-folder-copy-plugin](./webpack/hashed-folder-copy-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fhashed-folder-copy-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Fhashed-folder-copy-plugin) | [changelog](./webpack/hashed-folder-copy-plugin/CHANGELOG.md) | [@rushstack/hashed-folder-copy-plugin](https://www.npmjs.com/package/@rushstack/hashed-folder-copy-plugin) | | [/webpack/loader-load-themed-styles](./webpack/loader-load-themed-styles/) | [![npm version](https://badge.fury.io/js/%40microsoft%2Floader-load-themed-styles.svg)](https://badge.fury.io/js/%40microsoft%2Floader-load-themed-styles) | [changelog](./webpack/loader-load-themed-styles/CHANGELOG.md) | [@microsoft/loader-load-themed-styles](https://www.npmjs.com/package/@microsoft/loader-load-themed-styles) | From fdcfa3da4d37714a3b7c5dc98caec878d59d02d9 Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Sun, 26 Feb 2023 18:46:49 -0500 Subject: [PATCH 04/36] Move http-build-cache to nonbrowserapproved --- common/config/rush/browser-approved-packages.json | 4 ---- common/config/rush/nonbrowser-approved-packages.json | 4 ++++ 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index 1ef3100cce9..8a8d72ffe65 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -34,10 +34,6 @@ "name": "@reduxjs/toolkit", "allowedCategories": [ "libraries" ] }, - { - "name": "@rushstack/rush-http-build-cache-plugin", - "allowedCategories": [ "libraries" ] - }, { "name": "@rushstack/rush-themed-ui", "allowedCategories": [ "libraries" ] diff --git a/common/config/rush/nonbrowser-approved-packages.json b/common/config/rush/nonbrowser-approved-packages.json index d28a686b68e..953d50757ba 100644 --- a/common/config/rush/nonbrowser-approved-packages.json +++ b/common/config/rush/nonbrowser-approved-packages.json @@ -178,6 +178,10 @@ "name": "@rushstack/rush-azure-storage-build-cache-plugin", "allowedCategories": [ "libraries" ] }, + { + "name": "@rushstack/rush-http-build-cache-plugin", + "allowedCategories": [ "libraries" ] + }, { "name": "@rushstack/rush-sdk", "allowedCategories": [ "libraries", "tests" ] From 3f9965751ce4794bb1a19bb283dd4745a6d7fe6e Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Sun, 26 Feb 2023 18:47:12 -0500 Subject: [PATCH 05/36] Handle lack of trailing / --- rush-plugins/rush-http-build-cache-plugin/README.md | 2 +- .../rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rush-plugins/rush-http-build-cache-plugin/README.md b/rush-plugins/rush-http-build-cache-plugin/README.md index abae1b4b19f..69754f215f7 100644 --- a/rush-plugins/rush-http-build-cache-plugin/README.md +++ b/rush-plugins/rush-http-build-cache-plugin/README.md @@ -58,7 +58,7 @@ First, start up and configure your build cache node locally: Second, create your `rush-http-build-cache-plugin.json` file as described in the Configuration section: - - Note that your `url` should end with `/cache`, for example, `http://localhost:5071/cache` + - Note that your `url` should end with `/cache`, for example, `http://localhost:5071/cache/` - To test reading and writing, set `isCacheWriteAllowed: true`. - Configure `tokenHandler` to point to a script that prints a Basic or Bearer Authorization value (this can be a dummy string if you granted Read and Write to Anonymous in your build cache node configuration). diff --git a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts index 64abea7b8ad..fac1438aa03 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts @@ -61,7 +61,7 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { this._environmentCredential = EnvironmentConfiguration.buildCacheCredential; this._isCacheWriteAllowedByConfiguration = options.isCacheWriteAllowed; - this._url = new URL(options.url); + this._url = new URL(options.url.endsWith('/') ? options.url : options.url + '/'); this._uploadMethod = options.uploadMethod ?? 'PUT'; this._headers = options.headers ?? {}; this._tokenHandler = options.tokenHandler; From 76346c4ae6c957f5e7474857ae2c5f897c5a3469 Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Sun, 26 Feb 2023 18:53:25 -0500 Subject: [PATCH 06/36] Fix up uploadMethod handling --- .../src/HttpBuildCacheProvider.ts | 2 +- .../src/RushHttpBuildCachePlugin.ts | 11 +++++++++-- .../src/schemas/plugin-config.schema.json | 8 ++++---- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts index fac1438aa03..e34d9f3d485 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts @@ -256,7 +256,7 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { let credentials: string | undefined = this._environmentCredential; - if (typeof credentials !== 'string') { + if (credentials === undefined) { credentials = await this._tryGetCredentialsFromCache(); } diff --git a/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts b/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts index 2a206290b52..18ade9e9790 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts @@ -14,10 +14,15 @@ const PLUGIN_NAME: string = 'HttpBuildCachePlugin'; */ export interface IRushHttpBuildCachePluginOptions { /** - * The url to the service that caches builds. + * The URL of the server that stores the caches (e.g. "https://build-caches.example.com"). */ url: string; + /** + * The HTTP method to use when writing to the cache (defaults to PUT). + */ + uploadMethod?: string; + /** * An optional set of HTTP headers to pass to the cache server. */ @@ -55,12 +60,14 @@ export class RushHttpBuildCachePlugin implements IRushPlugin { rushSession.registerCloudBuildCacheProviderFactory( 'http', (buildCacheConfig): HttpBuildCacheProvider => { - const { url, headers, tokenHandler, cacheKeyPrefix, isCacheWriteAllowed } = this._options; + const { url, uploadMethod, headers, tokenHandler, cacheKeyPrefix, isCacheWriteAllowed } = + this._options; const options: IHttpBuildCacheProviderOptions = { pluginName: this.pluginName, rushProjectRoot: rushConfig.rushJsonFolder, url: url, + uploadMethod: uploadMethod, headers: headers, tokenHandler: tokenHandler, cacheKeyPrefix: cacheKeyPrefix, diff --git a/rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json b/rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json index 0d825245c0c..fc4048a2369 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json +++ b/rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json @@ -9,10 +9,10 @@ "description": "(Required) The URL of the server that stores the caches (e.g. \"https://build-caches.example.com\").", "format": "uri" }, - "method": { + "uploadMethod": { "type": "string", - "description": "(Required) The URL of the server that stores the caches (e.g. \"https://build-caches.example.com\").", - "enum": ["PUT", "POST", "GET", "PATCH"], + "description": "(Optional) The HTTP method to use when writing to the cache (defaults to PUT).", + "enum": ["PUT", "POST", "PATCH"], "default": "PUT" }, "headers": { @@ -25,7 +25,7 @@ }, "tokenHandler": { "type": "string", - "description": "(Optional) Shell command that prints the authorization token needed to communicate with the HTTPS server and exits with code 0." + "description": "(Optional) Shell command that prints the authorization token needed to communicate with the HTTPS server and exits with code 0. This command will be executed from the root of the monorepo." }, "cacheKeyPrefix": { "type": "string", From 58a7c9eb6ced2f359cecef22c686ebe9e00117ab Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Sun, 26 Feb 2023 19:26:01 -0500 Subject: [PATCH 07/36] update build-tests --- .../workspace/common/pnpm-lock.yaml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml index 848844916e9..d3169ab61cf 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -395,9 +395,12 @@ packages: /@types/node-fetch/2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 14.18.36 + '@types/node': 12.20.24 form-data: 3.0.1 + /@types/node/12.20.24: + resolution: {integrity: sha512-yxDeaQIAJlMav7fH5AQqPH1u8YIuhYJXYBzxaQ4PifsU0GDO38MSdmEDeRlIxrKbC6NbEaaEHDanWb+y30U8SQ==} + /@types/node/14.18.36: resolution: {integrity: sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==} @@ -3663,7 +3666,7 @@ packages: '@pnpm/link-bins': 5.3.25 '@rushstack/heft-config-file': file:../temp/tarballs/rushstack-heft-config-file-0.11.9.tgz_@types+node@14.18.36 '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.55.2.tgz_@types+node@14.18.36 - '@rushstack/package-deps-hash': file:../temp/tarballs/rushstack-package-deps-hash-4.0.8.tgz_@types+node@14.18.36 + '@rushstack/package-deps-hash': file:../temp/tarballs/rushstack-package-deps-hash-4.0.9.tgz_@types+node@14.18.36 '@rushstack/rig-package': file:../temp/tarballs/rushstack-rig-package-0.3.18.tgz '@rushstack/stream-collator': file:../temp/tarballs/rushstack-stream-collator-4.0.227.tgz_@types+node@14.18.36 '@rushstack/terminal': file:../temp/tarballs/rushstack-terminal-0.5.2.tgz_@types+node@14.18.36 @@ -3872,11 +3875,11 @@ packages: semver: 7.3.8 z-schema: 5.0.3 - file:../temp/tarballs/rushstack-package-deps-hash-4.0.8.tgz_@types+node@14.18.36: - resolution: {tarball: file:../temp/tarballs/rushstack-package-deps-hash-4.0.8.tgz} - id: file:../temp/tarballs/rushstack-package-deps-hash-4.0.8.tgz + file:../temp/tarballs/rushstack-package-deps-hash-4.0.9.tgz_@types+node@14.18.36: + resolution: {tarball: file:../temp/tarballs/rushstack-package-deps-hash-4.0.9.tgz} + id: file:../temp/tarballs/rushstack-package-deps-hash-4.0.9.tgz name: '@rushstack/package-deps-hash' - version: 4.0.8 + version: 4.0.9 dependencies: '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.55.2.tgz_@types+node@14.18.36 transitivePeerDependencies: From 120eee98cdb8159e2dca238f9331912171de0295 Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Fri, 31 Mar 2023 15:48:38 -0400 Subject: [PATCH 08/36] Use the Executable module that exists, skip the shell by default --- .../src/HttpBuildCacheProvider.test.ts | 5 ++- .../src/HttpBuildCacheProvider.ts | 18 ++++++---- .../src/RushHttpBuildCachePlugin.ts | 8 +++-- .../src/exec.test.ts | 13 ------- .../rush-http-build-cache-plugin/src/exec.ts | 35 ------------------- .../src/schemas/plugin-config.schema.json | 17 +++++++-- 6 files changed, 36 insertions(+), 60 deletions(-) delete mode 100644 rush-plugins/rush-http-build-cache-plugin/src/exec.test.ts delete mode 100644 rush-plugins/rush-http-build-cache-plugin/src/exec.ts diff --git a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts index 20da3767c5e..d409f623170 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts @@ -9,7 +9,10 @@ import { StringBufferTerminalProvider, Terminal } from '@rushstack/node-core-lib const EXAMPLE_OPTIONS = { url: 'https://buildcache.example.acme.com', - tokenHandler: 'node tokenHandler.js', + tokenHandler: { + exec: 'node', + args: ['tokenHandler.js'] + }, uploadMethod: 'POST', isCacheWriteAllowed: false, pluginName: 'example-plugin', diff --git a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts index e34d9f3d485..9cb8e90565f 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts @@ -1,4 +1,4 @@ -import { ITerminal } from '@rushstack/node-core-library'; +import { ITerminal, Executable } from '@rushstack/node-core-library'; import { ICloudBuildCacheProvider, ICredentialCacheEntry, @@ -7,7 +7,6 @@ import { EnvironmentConfiguration } from '@rushstack/rush-sdk'; import fetch, { BodyInit, Response } from 'node-fetch'; -import { exec } from './exec'; enum CredentialsOptions { Optional, @@ -23,12 +22,17 @@ enum FailureType { Authentication } +export interface IHttpBuildCacheTokenHandler { + exec: string; + args?: string[]; +} + /** * @public */ export interface IHttpBuildCacheProviderOptions { url: string; - tokenHandler?: string; + tokenHandler?: IHttpBuildCacheTokenHandler; uploadMethod?: string; headers?: Record; cacheKeyPrefix?: string; @@ -47,7 +51,7 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { private readonly _uploadMethod: string; private readonly _headers: Record; private readonly _cacheKeyPrefix: string; - private readonly _tokenHandler: string | undefined; + private readonly _tokenHandler: IHttpBuildCacheTokenHandler | undefined; private __credentialCacheId: string | undefined; public get isCacheWriteAllowed(): boolean { @@ -133,7 +137,7 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { } public async updateCachedCredentialInteractiveAsync(terminal: ITerminal): Promise { - if (typeof this._tokenHandler !== 'string') { + if (!this._tokenHandler) { throw new Error( `The interactive cloud credentials flow is not configured.\n` + `Set the 'tokenHandler' setting in 'common/config/rush-plugins/${this._pluginName}.json' to a command that writes your credentials to standard output and exits with code 0 ` + @@ -142,9 +146,9 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { ); } - const cmd: string = this._tokenHandler; + const cmd: string = `${this._tokenHandler.exec} ${(this._tokenHandler.args || []).join(' ')}`; terminal.writeVerboseLine(`Running '${cmd}' to get credentials`); - const result = await exec(cmd, this._rushProjectRoot); + const result = Executable.spawnSync(this._tokenHandler.exec, this._tokenHandler.args || []); terminal.writeErrorLine(result.stderr); diff --git a/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts b/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts index 18ade9e9790..5a248e64387 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts @@ -29,9 +29,13 @@ export interface IRushHttpBuildCachePluginOptions { headers?: Record; /** - * An optional command that prints the endpoint's credentials to stdout. + * An optional command that prints the endpoint's credentials to stdout. Provide the + * command or script to execute and, optionally, any arguments to pass to the script. */ - tokenHandler?: string; + tokenHandler?: { + exec: string; + args?: string[]; + }; /** * Prefix for cache keys. diff --git a/rush-plugins/rush-http-build-cache-plugin/src/exec.test.ts b/rush-plugins/rush-http-build-cache-plugin/src/exec.test.ts deleted file mode 100644 index 309806fcfbd..00000000000 --- a/rush-plugins/rush-http-build-cache-plugin/src/exec.test.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { exec } from './exec'; - -describe('exec', function () { - it('can exec a process and capture output', async function () { - // Act - const cmd = process.argv0 + ` --eval "console.log(1); console.error(2); process.exit(3);"`; - const result = await exec(cmd, process.cwd()); - - expect(result.error?.message).toEqual(`Command failed: ${cmd}\n2\n`); - expect(result.stderr).toEqual('2\n'); - expect(result.stdout).toEqual('1\n'); - }); -}); diff --git a/rush-plugins/rush-http-build-cache-plugin/src/exec.ts b/rush-plugins/rush-http-build-cache-plugin/src/exec.ts deleted file mode 100644 index 6952df1aee6..00000000000 --- a/rush-plugins/rush-http-build-cache-plugin/src/exec.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { exec as child_process_exec } from 'child_process'; - -/** - * The result of spawning a command - */ -export interface IExecResult { - /** - * The standard output of the spawned command - */ - stdout: string; - - /** - * The standard error of the spawned command - */ - stderr: string; - - /** - * The exit code of the spawned command - */ - error?: Error; -} - -/** - * Spawn a child process and obtain the contents of its output streams as text - * @param cmd - Command to execute - * @param args - Arguments to pass to command - * @returns The exit code and output of the executed command - */ -export function exec(cmd: string, cwd: string): Promise { - return new Promise(function (resolve: (result: IExecResult) => void, reject: (error: unknown) => void) { - child_process_exec(cmd, { cwd }, function (error, stdout, stderr) { - resolve({ stdout, stderr, error: error || undefined }); - }); - }); -} diff --git a/rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json b/rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json index fc4048a2369..abd50212fa2 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json +++ b/rush-plugins/rush-http-build-cache-plugin/src/schemas/plugin-config.schema.json @@ -24,8 +24,21 @@ } }, "tokenHandler": { - "type": "string", - "description": "(Optional) Shell command that prints the authorization token needed to communicate with the HTTPS server and exits with code 0. This command will be executed from the root of the monorepo." + "type": "object", + "description": "(Optional) Shell command that prints the authorization token needed to communicate with the HTTPS server and exits with code 0. This command will be executed from the root of the monorepo.", + "properties": { + "exec": { + "type": "string", + "description": "(Required) The command or script to execute." + }, + "args": { + "type": "array", + "description": "(Optional) Arguments to pass to the command or script.", + "items": { + "type": "string" + } + } + } }, "cacheKeyPrefix": { "type": "string", From e1c5895a4cdd7c2fb3c8ffde88f1b95090e2bffa Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Thu, 13 Apr 2023 13:14:33 -0400 Subject: [PATCH 09/36] Add comment on the 503 status code specifically --- .../src/HttpBuildCacheProvider.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts index 9cb8e90565f..be8b6d3ad41 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts @@ -307,6 +307,12 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { } switch (response.status) { + // We select 503 specifically because this represents "service unavailable" and + // "rate limit throttle" errors, which are transient issues. + // + // There are other 5xx errors, such as 501, that can occur if the request is + // malformed, so as a general rule we want to let through other 5xx errors + // so the user can troubleshoot. case 503: { // Don't fail production builds with warnings for transient issues return FailureType.Informational; From e6d49bfbafd4ca29f180ab92190a91d973b30b37 Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Thu, 13 Apr 2023 13:55:08 -0400 Subject: [PATCH 10/36] move comment --- .../src/HttpBuildCacheProvider.ts | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts index be8b6d3ad41..00e3f6c40cb 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts @@ -307,13 +307,14 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { } switch (response.status) { - // We select 503 specifically because this represents "service unavailable" and - // "rate limit throttle" errors, which are transient issues. - // - // There are other 5xx errors, such as 501, that can occur if the request is - // malformed, so as a general rule we want to let through other 5xx errors - // so the user can troubleshoot. case 503: { + // We select 503 specifically because this represents "service unavailable" and + // "rate limit throttle" errors, which are transient issues. + // + // There are other 5xx errors, such as 501, that can occur if the request is + // malformed, so as a general rule we want to let through other 5xx errors + // so the user can troubleshoot. + // Don't fail production builds with warnings for transient issues return FailureType.Informational; } From 29b4a14173c726735fb5a47ddc884182e40ac3ae Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Tue, 18 Apr 2023 09:13:20 -0700 Subject: [PATCH 11/36] Prepare to release a PATCH version of Rush --- common/config/rush/version-policies.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 06a888cd44b..1ff603eaae0 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -103,7 +103,7 @@ "policyName": "rush", "definitionName": "lockStepVersion", "version": "5.97.0", - "nextBump": "minor", + "nextBump": "patch", "mainProject": "@microsoft/rush" } ] From 16f6612f75dcd70a7fa5c26f05ee81eb7f3c7d20 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Tue, 18 Apr 2023 16:39:03 +0000 Subject: [PATCH 12/36] Update changelogs [skip ci] --- apps/rush/CHANGELOG.json | 18 ++++++++++++++++++ apps/rush/CHANGELOG.md | 11 ++++++++++- ...ureConsistentVersions_2023-04-13-22-13.json | 10 ---------- .../@microsoft/rush/main_2023-04-07-20-22.json | 10 ---------- .../rush/rush-watch-perf_2023-03-30-00-47.json | 10 ---------- 5 files changed, 28 insertions(+), 31 deletions(-) delete mode 100644 common/changes/@microsoft/rush/aruniverse-respect_ensureConsistentVersions_2023-04-13-22-13.json delete mode 100644 common/changes/@microsoft/rush/main_2023-04-07-20-22.json delete mode 100644 common/changes/@microsoft/rush/rush-watch-perf_2023-03-30-00-47.json diff --git a/apps/rush/CHANGELOG.json b/apps/rush/CHANGELOG.json index 922b9408758..37ccd8070ed 100644 --- a/apps/rush/CHANGELOG.json +++ b/apps/rush/CHANGELOG.json @@ -1,6 +1,24 @@ { "name": "@microsoft/rush", "entries": [ + { + "version": "5.97.1", + "tag": "@microsoft/rush_v5.97.1", + "date": "Tue, 18 Apr 2023 16:39:03 GMT", + "comments": { + "none": [ + { + "comment": "`rush version` will now respect the `ensureConsistentVersions` field in `rush.json`" + }, + { + "comment": "Bump webpack to 5.78.0" + }, + { + "comment": "Fix file watching on Windows in the presence of Git's fsmonitor by not watching the .git folder." + } + ] + } + }, { "version": "5.97.0", "tag": "@microsoft/rush_v5.97.0", diff --git a/apps/rush/CHANGELOG.md b/apps/rush/CHANGELOG.md index 256c2b7d078..d73d20ca6e1 100644 --- a/apps/rush/CHANGELOG.md +++ b/apps/rush/CHANGELOG.md @@ -1,6 +1,15 @@ # Change Log - @microsoft/rush -This log was last generated on Wed, 05 Apr 2023 21:46:37 GMT and should not be manually modified. +This log was last generated on Tue, 18 Apr 2023 16:39:03 GMT and should not be manually modified. + +## 5.97.1 +Tue, 18 Apr 2023 16:39:03 GMT + +### Updates + +- `rush version` will now respect the `ensureConsistentVersions` field in `rush.json` +- Bump webpack to 5.78.0 +- Fix file watching on Windows in the presence of Git's fsmonitor by not watching the .git folder. ## 5.97.0 Wed, 05 Apr 2023 21:46:37 GMT diff --git a/common/changes/@microsoft/rush/aruniverse-respect_ensureConsistentVersions_2023-04-13-22-13.json b/common/changes/@microsoft/rush/aruniverse-respect_ensureConsistentVersions_2023-04-13-22-13.json deleted file mode 100644 index d104b5f4b70..00000000000 --- a/common/changes/@microsoft/rush/aruniverse-respect_ensureConsistentVersions_2023-04-13-22-13.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "`rush version` will now respect the `ensureConsistentVersions` field in `rush.json`", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file diff --git a/common/changes/@microsoft/rush/main_2023-04-07-20-22.json b/common/changes/@microsoft/rush/main_2023-04-07-20-22.json deleted file mode 100644 index 7ffd10e9c97..00000000000 --- a/common/changes/@microsoft/rush/main_2023-04-07-20-22.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "Bump webpack to 5.78.0", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file diff --git a/common/changes/@microsoft/rush/rush-watch-perf_2023-03-30-00-47.json b/common/changes/@microsoft/rush/rush-watch-perf_2023-03-30-00-47.json deleted file mode 100644 index c1b3344b7e8..00000000000 --- a/common/changes/@microsoft/rush/rush-watch-perf_2023-03-30-00-47.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/rush", - "comment": "Fix file watching on Windows in the presence of Git's fsmonitor by not watching the .git folder.", - "type": "none" - } - ], - "packageName": "@microsoft/rush" -} \ No newline at end of file From a702f65f6362368dd5198245dd4efd48bf827a2b Mon Sep 17 00:00:00 2001 From: Rushbot Date: Tue, 18 Apr 2023 16:39:06 +0000 Subject: [PATCH 13/36] Bump versions [skip ci] --- apps/rush/package.json | 2 +- common/config/rush/version-policies.json | 2 +- libraries/rush-lib/package.json | 2 +- libraries/rush-sdk/package.json | 2 +- rush-plugins/rush-amazon-s3-build-cache-plugin/package.json | 2 +- rush-plugins/rush-azure-storage-build-cache-plugin/package.json | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/rush/package.json b/apps/rush/package.json index 5bdaf332aa5..5b6afee7c87 100644 --- a/apps/rush/package.json +++ b/apps/rush/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush", - "version": "5.97.0", + "version": "5.97.1", "description": "A professional solution for consolidating all your JavaScript projects in one Git repo", "keywords": [ "install", diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index 1ff603eaae0..b414a70a18e 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -102,7 +102,7 @@ { "policyName": "rush", "definitionName": "lockStepVersion", - "version": "5.97.0", + "version": "5.97.1", "nextBump": "patch", "mainProject": "@microsoft/rush" } diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index 3c978c6d080..cc86967fc46 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/rush-lib", - "version": "5.97.0", + "version": "5.97.1", "description": "A library for writing scripts that interact with the Rush tool", "repository": { "type": "git", diff --git a/libraries/rush-sdk/package.json b/libraries/rush-sdk/package.json index 515a7fbcb66..15bdca53ad6 100644 --- a/libraries/rush-sdk/package.json +++ b/libraries/rush-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-sdk", - "version": "5.97.0", + "version": "5.97.1", "description": "An API for interacting with the Rush engine", "repository": { "type": "git", diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json index 2f6d886066b..b0104f195d1 100644 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json +++ b/rush-plugins/rush-amazon-s3-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-amazon-s3-build-cache-plugin", - "version": "5.97.0", + "version": "5.97.1", "description": "Rush plugin for Amazon S3 cloud build cache", "repository": { "type": "git", diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json index 898752e0f46..ceb50f0e8e6 100644 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/package.json +++ b/rush-plugins/rush-azure-storage-build-cache-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/rush-azure-storage-build-cache-plugin", - "version": "5.97.0", + "version": "5.97.1", "description": "Rush plugin for Azure storage cloud build cache", "repository": { "type": "git", From c997950e37dd9a9edd1ac353d438f3849b1f3f7b Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Tue, 18 Apr 2023 23:44:28 -0400 Subject: [PATCH 14/36] fix typo --- .../rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts index 00e3f6c40cb..cb77033abae 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.ts @@ -380,7 +380,7 @@ export class HttpBuildCacheProvider implements ICloudBuildCacheProvider { throw new Error( [ `${this._url.href} responded with ${response.status}: ${response.statusText}.`, - `Credentials may be misconfigured of have expired.`, + `Credentials may be misconfigured or have expired.`, `In CI, verify that RUSH_BUILD_CACHE_CREDENTIAL contains a valid Authorization header value.`, ``, `For local developers, run:`, From 9a42b371978f3bef271402b9b53d51d55a7ecf6a Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Tue, 18 Apr 2023 23:44:38 -0400 Subject: [PATCH 15/36] Update rush-plugins/rush-http-build-cache-plugin/README.md Co-authored-by: Ian Clanton-Thuon --- rush-plugins/rush-http-build-cache-plugin/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rush-plugins/rush-http-build-cache-plugin/README.md b/rush-plugins/rush-http-build-cache-plugin/README.md index 69754f215f7..654f1fbfa0c 100644 --- a/rush-plugins/rush-http-build-cache-plugin/README.md +++ b/rush-plugins/rush-http-build-cache-plugin/README.md @@ -58,7 +58,7 @@ First, start up and configure your build cache node locally: Second, create your `rush-http-build-cache-plugin.json` file as described in the Configuration section: - - Note that your `url` should end with `/cache`, for example, `http://localhost:5071/cache/` + - Note that your `url` should end with `/cache/`, for example, `http://localhost:5071/cache/` - To test reading and writing, set `isCacheWriteAllowed: true`. - Configure `tokenHandler` to point to a script that prints a Basic or Bearer Authorization value (this can be a dummy string if you granted Read and Write to Anonymous in your build cache node configuration). From aa01017e804ab7958e6ac1bf4057668a2dd35363 Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Tue, 18 Apr 2023 23:44:45 -0400 Subject: [PATCH 16/36] Update rush-plugins/rush-http-build-cache-plugin/README.md Co-authored-by: Ian Clanton-Thuon --- rush-plugins/rush-http-build-cache-plugin/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rush-plugins/rush-http-build-cache-plugin/README.md b/rush-plugins/rush-http-build-cache-plugin/README.md index 654f1fbfa0c..25e5be27c92 100644 --- a/rush-plugins/rush-http-build-cache-plugin/README.md +++ b/rush-plugins/rush-http-build-cache-plugin/README.md @@ -28,7 +28,7 @@ Once enabled, configure the HTTP build cache in config file `common/config/rush- - url: The server to store cache objects. - tokenHandler: A script that can print the Authorization header expected by the server. The value printed to `stdout` by this command should be an exact header, for example, `Bearer ab98d8c878d937290d979a9097c90dfffff` or `Basic 098abc7dff==`. -- isCacheWriteAllowed: A flag that determines if the plugin should write to the cache. +- `isCacheWriteAllowed`: A flag that determines if the plugin should write to the cache. ## HTTP Cache Server Requirements From 5a03a0803e6f9f1a812982f5e3f6a990b3b6a0be Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Tue, 18 Apr 2023 23:44:52 -0400 Subject: [PATCH 17/36] Update rush-plugins/rush-http-build-cache-plugin/README.md Co-authored-by: Ian Clanton-Thuon --- rush-plugins/rush-http-build-cache-plugin/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rush-plugins/rush-http-build-cache-plugin/README.md b/rush-plugins/rush-http-build-cache-plugin/README.md index 25e5be27c92..57c30cd4876 100644 --- a/rush-plugins/rush-http-build-cache-plugin/README.md +++ b/rush-plugins/rush-http-build-cache-plugin/README.md @@ -27,7 +27,7 @@ Once enabled, configure the HTTP build cache in config file `common/config/rush- ``` - url: The server to store cache objects. -- tokenHandler: A script that can print the Authorization header expected by the server. The value printed to `stdout` by this command should be an exact header, for example, `Bearer ab98d8c878d937290d979a9097c90dfffff` or `Basic 098abc7dff==`. +- `tokenHandler`: A script that can print the Authorization header expected by the server. The value printed to `stdout` by this command should be an exact header, for example, `Bearer ab98d8c878d937290d979a9097c90dfffff` or `Basic 098abc7dff==`. - `isCacheWriteAllowed`: A flag that determines if the plugin should write to the cache. ## HTTP Cache Server Requirements From fbabad7b96fb867f997f9e6d422cf5afd8bcd688 Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Tue, 18 Apr 2023 23:45:02 -0400 Subject: [PATCH 18/36] Update rush-plugins/rush-http-build-cache-plugin/README.md Co-authored-by: Ian Clanton-Thuon --- rush-plugins/rush-http-build-cache-plugin/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rush-plugins/rush-http-build-cache-plugin/README.md b/rush-plugins/rush-http-build-cache-plugin/README.md index 57c30cd4876..5cf942de160 100644 --- a/rush-plugins/rush-http-build-cache-plugin/README.md +++ b/rush-plugins/rush-http-build-cache-plugin/README.md @@ -26,7 +26,7 @@ Once enabled, configure the HTTP build cache in config file `common/config/rush- } ``` -- url: The server to store cache objects. +- `url`: The server to store cache objects. - `tokenHandler`: A script that can print the Authorization header expected by the server. The value printed to `stdout` by this command should be an exact header, for example, `Bearer ab98d8c878d937290d979a9097c90dfffff` or `Basic 098abc7dff==`. - `isCacheWriteAllowed`: A flag that determines if the plugin should write to the cache. From 6652b19eb8364ca27c92c064df7b77065aa4f7b2 Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Wed, 19 Apr 2023 12:31:27 -0400 Subject: [PATCH 19/36] Use the build-cache.json configuration instead of a separate file --- .../common/config/rush/build-cache.json | 43 +++++++++++ .../src/schemas/build-cache.schema.json | 72 ++++++++++++++++++- .../rush-http-build-cache-plugin/README.md | 44 +++++++++--- .../src/RushHttpBuildCachePlugin.ts | 16 ++--- 4 files changed, 155 insertions(+), 20 deletions(-) diff --git a/libraries/rush-lib/assets/rush-init/common/config/rush/build-cache.json b/libraries/rush-lib/assets/rush-init/common/config/rush/build-cache.json index 45571cbd709..4e26cde258a 100644 --- a/libraries/rush-lib/assets/rush-init/common/config/rush/build-cache.json +++ b/libraries/rush-lib/assets/rush-init/common/config/rush/build-cache.json @@ -96,5 +96,48 @@ * If set to true, allow writing to the cache. Defaults to false. */ // "isCacheWriteAllowed": true + }, + + /** + * Use this configuration with "cacheProvider"="http" + */ + "httpConfiguration": { + /** + * (Required) The URL of the server that stores the caches. + * Example: "https://build-cacches.example.com/" + */ + // "url": "https://build-cacches.example.com/", + + /** + * (Optional) The HTTP method to use when writing to the cache (defaults to PUT). + * Should be one of PUT, POST, or PATCH. + * Example: "PUT" + */ + // "uploadMethod": "PUT", + + /** + * (Optional) HTTP headers to pass to the cache server. + * Example: { "X-HTTP-Company-Id": "109283" } + */ + // "headers": {}, + + /** + * (Optional) Shell command that prints the authorization token needed to communicate with the + * cache server, and exits with exit code 0. This command will be executed from the root of + * the monorepo. + * Example: { "exec": "node", "args": ["common/scripts/auth.js"] } + */ + // "tokenHandler": { "exec": "node", "args": ["common/scripts/auth.js"] }, + + /** + * (Optional) Prefix for cache keys. + * Example: "my-company-" + */ + // "cacheKeyPrefix": "", + + /** + * (Optional) If set to true, allow writing to the cache. Defaults to false. + */ + // "isCacheWriteAllowed": true } } diff --git a/libraries/rush-lib/src/schemas/build-cache.schema.json b/libraries/rush-lib/src/schemas/build-cache.schema.json index 0baf023b961..e91b4d361c7 100644 --- a/libraries/rush-lib/src/schemas/build-cache.schema.json +++ b/libraries/rush-lib/src/schemas/build-cache.schema.json @@ -85,6 +85,56 @@ "description": "If set to true, allow writing to the cache. Defaults to false." } } + }, + "httpConfiguration": { + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "type": "string", + "description": "(Required) The URL of the server that stores the caches (e.g. \"https://build-caches.example.com\").", + "format": "uri" + }, + "uploadMethod": { + "type": "string", + "description": "(Optional) The HTTP method to use when writing to the cache (defaults to PUT).", + "enum": ["PUT", "POST", "PATCH"], + "default": "PUT" + }, + "headers": { + "type": "object", + "description": "(Optional) HTTP headers to pass to the cache server", + "properties": {}, + "additionalProperties": { + "type": "string" + } + }, + "tokenHandler": { + "type": "object", + "description": "(Optional) Shell command that prints the authorization token needed to communicate with the HTTPS server and exits with code 0. This command will be executed from the root of the monorepo.", + "properties": { + "exec": { + "type": "string", + "description": "(Required) The command or script to execute." + }, + "args": { + "type": "array", + "description": "(Optional) Arguments to pass to the command or script.", + "items": { + "type": "string" + } + } + } + }, + "cacheKeyPrefix": { + "type": "string", + "description": "(Optional) prefix for cache keys." + }, + "isCacheWriteAllowed": { + "type": "boolean", + "description": "(Optional) If set to true, allow writing to the cache. Defaults to false." + } + } } }, "oneOf": [ @@ -94,7 +144,7 @@ "properties": { "cacheProvider": { "type": "string", - "pattern": "^(?:(?!azure-blob-storage|amazon-s3).)*$" + "pattern": "^(?:(?!azure-blob-storage|amazon-s3|http).)*$" } } }, @@ -160,6 +210,26 @@ ] } } + }, + { + "type": "object", + "additionalProperties": true, + "properties": { + "cacheProvider": { + "type": "string", + "enum": ["http"] + }, + "httpConfiguration": { + "type": "object", + "additionalProperties": true, + "required": ["url"], + "properties": { + "url": { + "$ref": "#/definitions/anything" + } + } + } + } } ] } diff --git a/rush-plugins/rush-http-build-cache-plugin/README.md b/rush-plugins/rush-http-build-cache-plugin/README.md index 5cf942de160..d8468855d6f 100644 --- a/rush-plugins/rush-http-build-cache-plugin/README.md +++ b/rush-plugins/rush-http-build-cache-plugin/README.md @@ -16,19 +16,41 @@ To use the HTTP build cache plugin, enable it in `common/config/rush/build-cache } ``` -Once enabled, configure the HTTP build cache in config file `common/config/rush-plugins/rush-http-build-cache-plugin.json`: +Then customize the `httpConfiguration` block. For typical use cases, where you'll use a remote HTTP URL with authentication, you'll need to provide at least the `url` and `tokenHandler` options: ```json { - "url": "https://build-cache.example.com", - "tokenHandler": "node common/scripts/custom-script-that-returns-an-authentication-header.js", - "isCacheWriteAllowed": false + "httpConfiguration": { + "url": "https://build-cache.example.com", + "tokenHandler": { + "exec": "node", + "args": ["common/scripts/custom-script-that-returns-an-authentication-header.js"] + }, + "isCacheWriteAllowed": false + } } ``` -- `url`: The server to store cache objects. -- `tokenHandler`: A script that can print the Authorization header expected by the server. The value printed to `stdout` by this command should be an exact header, for example, `Bearer ab98d8c878d937290d979a9097c90dfffff` or `Basic 098abc7dff==`. -- `isCacheWriteAllowed`: A flag that determines if the plugin should write to the cache. +(For more detail on the above properties and additional optional properties, consult the default `build-cache.json` file.) + +## Authorization Details + +The HTTP build cache plugin offloads authorization to an external executable script that you define. A typical use case would be to create a simple script, for example `common/scripts/cache-auth.js`, that prints an Authorization header value when executed. + +For example: + +```console +node common/scripts/cache-auth.js +# => Bearer 0284357923592790DDb979dBcd2zz +``` + +How the script generates authorization values is up to you, and depends on the configuration of your remote cache server. + +Possible implementations: + + - The script could read simple environment variables (`CACHE_USER` and `CACHE_TOKEN`) defined by the developer + - It could reuse existing credentials your developers have, like NPM tokens, GitHub credentials, or jFrog API tokens + - It could make an HTTP call to another server accessible by your developers that returns temporary credentials ## HTTP Cache Server Requirements @@ -36,7 +58,7 @@ The HTTP build cache plugin can use almost any HTTP/HTTPS backend for remote cac - Uses `Authorization: Bearer xxx` or `Authorization: Basic xxx` headers for authentication. - Accepts GET requests for cache reads. - - Accepts PUT requests for cache writes (with a raw request body -- no `form/multipart`). + - Accepts PUT requests for cache writes (with a raw request body -- no `form/multipart` MIME types). - Cache hits return HTTP 200 with the file in the response body. - Successful cache writes return HTTP 2xx (200-299). - Cache misses return HTTP 404 or HTTP 403. @@ -56,13 +78,13 @@ First, start up and configure your build cache node locally: - Enter the temporary username/password credentials printed in the startup banner - Click Build Cache > Settings > Cache Access Control and grant "Read & write" access to Anonymous -Second, create your `rush-http-build-cache-plugin.json` file as described in the Configuration section: +Second, configure your `build-cache.json` file as described in the Configuration section: - - Note that your `url` should end with `/cache/`, for example, `http://localhost:5071/cache/` + - Note that your `url` must end with `/cache/`, for example, `http://localhost:5071/cache/`. - To test reading and writing, set `isCacheWriteAllowed: true`. - Configure `tokenHandler` to point to a script that prints a Basic or Bearer Authorization value (this can be a dummy string if you granted Read and Write to Anonymous in your build cache node configuration). -Note that the Gradle Build Cache Server has a stricter format for its cache keys (they should be a simple hexadecimal hash with no non-alphanumeric characters). Configure this setting in your `common/config/rush/build-cache.json` file: +Note that the Gradle Build Cache Server has a stricter format for its cache keys (they should be a simple hexadecimal hash with no non-alphanumeric characters). Configure this setting in your `build-cache.json` file: ```json { diff --git a/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts b/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts index 5a248e64387..00dda437c4c 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/RushHttpBuildCachePlugin.ts @@ -12,7 +12,7 @@ const PLUGIN_NAME: string = 'HttpBuildCachePlugin'; /** * @public */ -export interface IRushHttpBuildCachePluginOptions { +export interface IRushHttpBuildCachePluginConfig { /** * The URL of the server that stores the caches (e.g. "https://build-caches.example.com"). */ @@ -53,19 +53,19 @@ export interface IRushHttpBuildCachePluginOptions { */ export class RushHttpBuildCachePlugin implements IRushPlugin { public readonly pluginName: string = PLUGIN_NAME; - private readonly _options: IRushHttpBuildCachePluginOptions; - - public constructor(options: IRushHttpBuildCachePluginOptions) { - this._options = options; - } public apply(rushSession: RushSession, rushConfig: RushConfiguration): void { rushSession.hooks.initialize.tap(this.pluginName, () => { rushSession.registerCloudBuildCacheProviderFactory( 'http', (buildCacheConfig): HttpBuildCacheProvider => { - const { url, uploadMethod, headers, tokenHandler, cacheKeyPrefix, isCacheWriteAllowed } = - this._options; + const config: IRushHttpBuildCachePluginConfig = ( + buildCacheConfig as typeof buildCacheConfig & { + httpConfiguration: IRushHttpBuildCachePluginConfig; + } + ).httpConfiguration; + + const { url, uploadMethod, headers, tokenHandler, cacheKeyPrefix, isCacheWriteAllowed } = config; const options: IHttpBuildCacheProviderOptions = { pluginName: this.pluginName, From 5afc844629d1958a0f64bbf5fbab4bef9cd2b28b Mon Sep 17 00:00:00 2001 From: Elliot Nelson Date: Wed, 19 Apr 2023 12:35:16 -0400 Subject: [PATCH 20/36] Switch to snapshot test --- .../src/HttpBuildCacheProvider.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts index d409f623170..e5ec316a00a 100644 --- a/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts +++ b/rush-plugins/rush-http-build-cache-plugin/src/HttpBuildCacheProvider.test.ts @@ -50,8 +50,8 @@ describe('HttpBuildCacheProvider', () => { method: 'GET', redirect: 'follow' }); - expect(terminalBuffer.getWarningOutput()).toEqual( - 'Error getting cache entry: Error: Credentials for https://buildcache.example.acme.com/ have not been provided.[n]In CI, verify that RUSH_BUILD_CACHE_CREDENTIAL contains a valid Authorization header value.[n][n]For local developers, run:[n][n] rush update-cloud-credentials --interactive[n][n]' + expect(terminalBuffer.getWarningOutput()).toMatchInlineSnapshot( + `"Error getting cache entry: Error: Credentials for https://buildcache.example.acme.com/ have not been provided.[n]In CI, verify that RUSH_BUILD_CACHE_CREDENTIAL contains a valid Authorization header value.[n][n]For local developers, run:[n][n] rush update-cloud-credentials --interactive[n][n]"` ); }); }); From 72f41d195cf39558f12de7d26f9e336a0e512416 Mon Sep 17 00:00:00 2001 From: Sean Larkin Date: Wed, 19 Apr 2023 18:10:25 +0000 Subject: [PATCH 21/36] update webpack to 5.80.0 --- build-tests-samples/heft-webpack-basic-tutorial/package.json | 2 +- .../hashed-folder-copy-plugin-webpack5-test/package.json | 2 +- build-tests/heft-webpack5-everything-test/package.json | 2 +- heft-plugins/heft-dev-cert-plugin/package.json | 2 +- heft-plugins/heft-webpack5-plugin/package.json | 4 ++-- libraries/rush-lib/package.json | 2 +- rigs/heft-web-rig/package.json | 2 +- webpack/preserve-dynamic-require-plugin/package.json | 2 +- webpack/webpack-deep-imports-plugin/package.json | 2 +- webpack/webpack-embedded-dependencies-plugin/package.json | 2 +- webpack/webpack-plugin-utilities/package.json | 2 +- webpack/webpack5-load-themed-styles-loader/package.json | 2 +- webpack/webpack5-localization-plugin/package.json | 2 +- webpack/webpack5-module-minifier-plugin/package.json | 2 +- 14 files changed, 15 insertions(+), 15 deletions(-) diff --git a/build-tests-samples/heft-webpack-basic-tutorial/package.json b/build-tests-samples/heft-webpack-basic-tutorial/package.json index 1452d214c30..3686daf5788 100644 --- a/build-tests-samples/heft-webpack-basic-tutorial/package.json +++ b/build-tests-samples/heft-webpack-basic-tutorial/package.json @@ -29,6 +29,6 @@ "source-map-loader": "~3.0.1", "style-loader": "~3.3.1", "typescript": "~4.8.4", - "webpack": "~5.78.0" + "webpack": "~5.80.0" } } diff --git a/build-tests/hashed-folder-copy-plugin-webpack5-test/package.json b/build-tests/hashed-folder-copy-plugin-webpack5-test/package.json index 23ca2cb3f73..1ea5519cbca 100644 --- a/build-tests/hashed-folder-copy-plugin-webpack5-test/package.json +++ b/build-tests/hashed-folder-copy-plugin-webpack5-test/package.json @@ -16,6 +16,6 @@ "html-webpack-plugin": "~4.5.2", "typescript": "~4.8.4", "webpack-bundle-analyzer": "~4.5.0", - "webpack": "~5.78.0" + "webpack": "~5.80.0" } } diff --git a/build-tests/heft-webpack5-everything-test/package.json b/build-tests/heft-webpack5-everything-test/package.json index b4997fd7ea0..6898be2c942 100644 --- a/build-tests/heft-webpack5-everything-test/package.json +++ b/build-tests/heft-webpack5-everything-test/package.json @@ -24,6 +24,6 @@ "tslint": "~5.20.1", "tslint-microsoft-contrib": "~6.2.0", "typescript": "~4.8.4", - "webpack": "~5.78.0" + "webpack": "~5.80.0" } } diff --git a/heft-plugins/heft-dev-cert-plugin/package.json b/heft-plugins/heft-dev-cert-plugin/package.json index 7062de7ba89..76dbca939a4 100644 --- a/heft-plugins/heft-dev-cert-plugin/package.json +++ b/heft-plugins/heft-dev-cert-plugin/package.json @@ -33,6 +33,6 @@ "@types/node": "14.18.36", "eslint": "~8.7.0", "webpack-dev-server": "~4.9.3", - "webpack": "~5.78.0" + "webpack": "~5.80.0" } } diff --git a/heft-plugins/heft-webpack5-plugin/package.json b/heft-plugins/heft-webpack5-plugin/package.json index 5f0edef7154..3cdce94ce75 100644 --- a/heft-plugins/heft-webpack5-plugin/package.json +++ b/heft-plugins/heft-webpack5-plugin/package.json @@ -19,7 +19,7 @@ }, "peerDependencies": { "@rushstack/heft": "^0.50.0", - "webpack": "~5.78.0" + "webpack": "~5.80.0" }, "dependencies": { "@rushstack/node-core-library": "workspace:*", @@ -30,6 +30,6 @@ "@rushstack/heft": "workspace:*", "@rushstack/heft-node-rig": "workspace:*", "@types/node": "14.18.36", - "webpack": "~5.78.0" + "webpack": "~5.80.0" } } diff --git a/libraries/rush-lib/package.json b/libraries/rush-lib/package.json index 217fb0f4677..52da329a232 100644 --- a/libraries/rush-lib/package.json +++ b/libraries/rush-lib/package.json @@ -84,7 +84,7 @@ "@types/strict-uri-encode": "2.0.0", "@types/tar": "6.1.1", "@types/webpack-env": "1.18.0", - "webpack": "~5.78.0" + "webpack": "~5.80.0" }, "publishOnlyDependencies": { "@rushstack/rush-amazon-s3-build-cache-plugin": "workspace:*", diff --git a/rigs/heft-web-rig/package.json b/rigs/heft-web-rig/package.json index 4913d841103..2172f5216f8 100644 --- a/rigs/heft-web-rig/package.json +++ b/rigs/heft-web-rig/package.json @@ -38,7 +38,7 @@ "url-loader": "~4.1.1", "webpack-bundle-analyzer": "~4.5.0", "webpack-merge": "~5.8.0", - "webpack": "~5.78.0" + "webpack": "~5.80.0" }, "devDependencies": { "@rushstack/heft": "workspace:*" diff --git a/webpack/preserve-dynamic-require-plugin/package.json b/webpack/preserve-dynamic-require-plugin/package.json index a1083a0e33c..ac5b9232914 100644 --- a/webpack/preserve-dynamic-require-plugin/package.json +++ b/webpack/preserve-dynamic-require-plugin/package.json @@ -24,7 +24,7 @@ "@rushstack/heft-node-rig": "workspace:*", "@types/heft-jest": "1.0.1", "@types/node": "14.18.36", - "webpack": "~5.78.0" + "webpack": "~5.80.0" }, "sideEffects": false } diff --git a/webpack/webpack-deep-imports-plugin/package.json b/webpack/webpack-deep-imports-plugin/package.json index 5dab136df85..674a6595453 100644 --- a/webpack/webpack-deep-imports-plugin/package.json +++ b/webpack/webpack-deep-imports-plugin/package.json @@ -27,7 +27,7 @@ "@rushstack/heft": "workspace:*", "@types/heft-jest": "1.0.1", "@types/node": "14.18.36", - "webpack": "~5.78.0" + "webpack": "~5.80.0" }, "sideEffects": false, "dependencies": { diff --git a/webpack/webpack-embedded-dependencies-plugin/package.json b/webpack/webpack-embedded-dependencies-plugin/package.json index 4ea4971d3a6..e0ea500f8a5 100644 --- a/webpack/webpack-embedded-dependencies-plugin/package.json +++ b/webpack/webpack-embedded-dependencies-plugin/package.json @@ -34,7 +34,7 @@ "@rushstack/heft-node-rig": "workspace:*", "@types/heft-jest": "1.0.1", "@types/node": "14.18.36", - "webpack": "~5.78.0", + "webpack": "~5.80.0", "memfs": "3.4.3" } } diff --git a/webpack/webpack-plugin-utilities/package.json b/webpack/webpack-plugin-utilities/package.json index 36160c18c08..f75acf82681 100644 --- a/webpack/webpack-plugin-utilities/package.json +++ b/webpack/webpack-plugin-utilities/package.json @@ -37,6 +37,6 @@ "@types/heft-jest": "1.0.1", "@types/node": "14.18.36", "@types/tapable": "1.0.6", - "webpack": "~5.78.0" + "webpack": "~5.80.0" } } diff --git a/webpack/webpack5-load-themed-styles-loader/package.json b/webpack/webpack5-load-themed-styles-loader/package.json index 44f1b981205..a3e8fc6c0bc 100644 --- a/webpack/webpack5-load-themed-styles-loader/package.json +++ b/webpack/webpack5-load-themed-styles-loader/package.json @@ -32,7 +32,7 @@ "@rushstack/node-core-library": "workspace:*", "@types/heft-jest": "1.0.1", "@types/node": "14.18.36", - "webpack": "~5.78.0", + "webpack": "~5.80.0", "memfs": "3.4.3", "css-loader": "~6.6.0" } diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index a03111e40d5..5e5c8476607 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -30,7 +30,7 @@ "@types/heft-jest": "1.0.1", "@types/node": "14.18.36", "memfs": "3.4.3", - "webpack": "~5.78.0" + "webpack": "~5.80.0" }, "peerDependenciesMeta": { "@types/node": { diff --git a/webpack/webpack5-module-minifier-plugin/package.json b/webpack/webpack5-module-minifier-plugin/package.json index fdf07f084eb..606e3d95918 100644 --- a/webpack/webpack5-module-minifier-plugin/package.json +++ b/webpack/webpack5-module-minifier-plugin/package.json @@ -37,7 +37,7 @@ "@types/heft-jest": "1.0.1", "@types/node": "14.18.36", "memfs": "3.4.3", - "webpack": "~5.78.0" + "webpack": "~5.80.0" }, "sideEffects": false, "peerDependenciesMeta": { From c24a7fa1b80cbfb2005081cdee46e3a6a6ff2ed5 Mon Sep 17 00:00:00 2001 From: Sean Larkin Date: Wed, 19 Apr 2023 18:11:32 +0000 Subject: [PATCH 22/36] rush change --- .../changes/@microsoft/rush/main_2023-04-19-18-11.json | 10 ++++++++++ .../main_2023-04-19-18-11.json | 10 ++++++++++ .../heft-dev-cert-plugin/main_2023-04-19-18-11.json | 10 ++++++++++ .../@rushstack/heft-web-rig/main_2023-04-19-18-11.json | 10 ++++++++++ .../heft-webpack5-plugin/main_2023-04-19-18-11.json | 10 ++++++++++ .../main_2023-04-19-18-11.json | 10 ++++++++++ .../main_2023-04-19-18-11.json | 10 ++++++++++ .../main_2023-04-19-18-11.json | 10 ++++++++++ .../main_2023-04-19-18-11.json | 10 ++++++++++ .../main_2023-04-19-18-11.json | 10 ++++++++++ 10 files changed, 100 insertions(+) create mode 100644 common/changes/@microsoft/rush/main_2023-04-19-18-11.json create mode 100644 common/changes/@microsoft/webpack5-load-themed-styles-loader/main_2023-04-19-18-11.json create mode 100644 common/changes/@rushstack/heft-dev-cert-plugin/main_2023-04-19-18-11.json create mode 100644 common/changes/@rushstack/heft-web-rig/main_2023-04-19-18-11.json create mode 100644 common/changes/@rushstack/heft-webpack5-plugin/main_2023-04-19-18-11.json create mode 100644 common/changes/@rushstack/webpack-embedded-dependencies-plugin/main_2023-04-19-18-11.json create mode 100644 common/changes/@rushstack/webpack-plugin-utilities/main_2023-04-19-18-11.json create mode 100644 common/changes/@rushstack/webpack-preserve-dynamic-require-plugin/main_2023-04-19-18-11.json create mode 100644 common/changes/@rushstack/webpack5-localization-plugin/main_2023-04-19-18-11.json create mode 100644 common/changes/@rushstack/webpack5-module-minifier-plugin/main_2023-04-19-18-11.json diff --git a/common/changes/@microsoft/rush/main_2023-04-19-18-11.json b/common/changes/@microsoft/rush/main_2023-04-19-18-11.json new file mode 100644 index 00000000000..cc724eb9025 --- /dev/null +++ b/common/changes/@microsoft/rush/main_2023-04-19-18-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Update webpack to v5.80.0", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/common/changes/@microsoft/webpack5-load-themed-styles-loader/main_2023-04-19-18-11.json b/common/changes/@microsoft/webpack5-load-themed-styles-loader/main_2023-04-19-18-11.json new file mode 100644 index 00000000000..e2caa991a9c --- /dev/null +++ b/common/changes/@microsoft/webpack5-load-themed-styles-loader/main_2023-04-19-18-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/webpack5-load-themed-styles-loader", + "comment": "Update webpack to v5.80.0", + "type": "patch" + } + ], + "packageName": "@microsoft/webpack5-load-themed-styles-loader" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-dev-cert-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/heft-dev-cert-plugin/main_2023-04-19-18-11.json new file mode 100644 index 00000000000..91397a1251c --- /dev/null +++ b/common/changes/@rushstack/heft-dev-cert-plugin/main_2023-04-19-18-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-dev-cert-plugin", + "comment": "Update webpack to v5.80.0", + "type": "patch" + } + ], + "packageName": "@rushstack/heft-dev-cert-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-web-rig/main_2023-04-19-18-11.json b/common/changes/@rushstack/heft-web-rig/main_2023-04-19-18-11.json new file mode 100644 index 00000000000..884af769d7c --- /dev/null +++ b/common/changes/@rushstack/heft-web-rig/main_2023-04-19-18-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-web-rig", + "comment": "Update webpack to v5.80.0", + "type": "patch" + } + ], + "packageName": "@rushstack/heft-web-rig" +} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-webpack5-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/heft-webpack5-plugin/main_2023-04-19-18-11.json new file mode 100644 index 00000000000..64bec2f61cd --- /dev/null +++ b/common/changes/@rushstack/heft-webpack5-plugin/main_2023-04-19-18-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/heft-webpack5-plugin", + "comment": "Update webpack to v5.80.0", + "type": "patch" + } + ], + "packageName": "@rushstack/heft-webpack5-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack-embedded-dependencies-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/webpack-embedded-dependencies-plugin/main_2023-04-19-18-11.json new file mode 100644 index 00000000000..57d0e668773 --- /dev/null +++ b/common/changes/@rushstack/webpack-embedded-dependencies-plugin/main_2023-04-19-18-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack-embedded-dependencies-plugin", + "comment": "Update webpack to v5.80.0", + "type": "patch" + } + ], + "packageName": "@rushstack/webpack-embedded-dependencies-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack-plugin-utilities/main_2023-04-19-18-11.json b/common/changes/@rushstack/webpack-plugin-utilities/main_2023-04-19-18-11.json new file mode 100644 index 00000000000..7eea359d31a --- /dev/null +++ b/common/changes/@rushstack/webpack-plugin-utilities/main_2023-04-19-18-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack-plugin-utilities", + "comment": "Update webpack to v5.80.0", + "type": "patch" + } + ], + "packageName": "@rushstack/webpack-plugin-utilities" +} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack-preserve-dynamic-require-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/webpack-preserve-dynamic-require-plugin/main_2023-04-19-18-11.json new file mode 100644 index 00000000000..60d5e055a9e --- /dev/null +++ b/common/changes/@rushstack/webpack-preserve-dynamic-require-plugin/main_2023-04-19-18-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack-preserve-dynamic-require-plugin", + "comment": "Update webpack to v5.80.0", + "type": "patch" + } + ], + "packageName": "@rushstack/webpack-preserve-dynamic-require-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack5-localization-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/webpack5-localization-plugin/main_2023-04-19-18-11.json new file mode 100644 index 00000000000..13b7bc9a0ae --- /dev/null +++ b/common/changes/@rushstack/webpack5-localization-plugin/main_2023-04-19-18-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack5-localization-plugin", + "comment": "Update webpack to v5.80.0", + "type": "patch" + } + ], + "packageName": "@rushstack/webpack5-localization-plugin" +} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack5-module-minifier-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/webpack5-module-minifier-plugin/main_2023-04-19-18-11.json new file mode 100644 index 00000000000..26b10926ff2 --- /dev/null +++ b/common/changes/@rushstack/webpack5-module-minifier-plugin/main_2023-04-19-18-11.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@rushstack/webpack5-module-minifier-plugin", + "comment": "Update webpack to v5.80.0", + "type": "patch" + } + ], + "packageName": "@rushstack/webpack5-module-minifier-plugin" +} \ No newline at end of file From b463f6a4a803041b20b5ab4b3363ba9c48423445 Mon Sep 17 00:00:00 2001 From: Sean Larkin Date: Wed, 19 Apr 2023 18:12:06 +0000 Subject: [PATCH 23/36] rush change --- common/changes/@microsoft/rush/main_2023-04-19-18-11.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/changes/@microsoft/rush/main_2023-04-19-18-11.json b/common/changes/@microsoft/rush/main_2023-04-19-18-11.json index cc724eb9025..5058551ff8c 100644 --- a/common/changes/@microsoft/rush/main_2023-04-19-18-11.json +++ b/common/changes/@microsoft/rush/main_2023-04-19-18-11.json @@ -3,7 +3,7 @@ { "packageName": "@microsoft/rush", "comment": "Update webpack to v5.80.0", - "type": "none" + "type": "patch" } ], "packageName": "@microsoft/rush" From 75ba75f36137b999d11ea4ca305ab62265eb4441 Mon Sep 17 00:00:00 2001 From: Sean Larkin Date: Wed, 19 Apr 2023 18:12:18 +0000 Subject: [PATCH 24/36] DROP: rush update --- common/config/rush/pnpm-lock.yaml | 362 ++++++++++++++++------------- common/config/rush/repo-state.json | 2 +- 2 files changed, 206 insertions(+), 158 deletions(-) diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 289006a9e59..5cc0acb4fb5 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -564,7 +564,7 @@ importers: style-loader: ~3.3.1 tslib: ~2.3.1 typescript: ~4.8.4 - webpack: ~5.78.0 + webpack: ~5.80.0 dependencies: react: 16.13.1 react-dom: 16.13.1_react@16.13.1 @@ -578,13 +578,13 @@ importers: '@types/react': 16.14.23 '@types/react-dom': 16.9.14 '@types/webpack-env': 1.18.0 - css-loader: 6.6.0_webpack@5.78.0 + css-loader: 6.6.0_webpack@5.80.0 eslint: 8.7.0 - html-webpack-plugin: 5.5.0_webpack@5.78.0 - source-map-loader: 3.0.2_webpack@5.78.0 - style-loader: 3.3.1_webpack@5.78.0 + html-webpack-plugin: 5.5.0_webpack@5.80.0 + source-map-loader: 3.0.2_webpack@5.80.0 + style-loader: 3.3.1_webpack@5.80.0 typescript: 4.8.4 - webpack: 5.78.0 + webpack: 5.80.0 ../../build-tests-samples/packlets-tutorial: specifiers: @@ -817,16 +817,16 @@ importers: '@types/webpack-env': 1.18.0 html-webpack-plugin: ~4.5.2 typescript: ~4.8.4 - webpack: ~5.78.0 + webpack: ~5.80.0 webpack-bundle-analyzer: ~4.5.0 devDependencies: '@rushstack/hashed-folder-copy-plugin': link:../../webpack/hashed-folder-copy-plugin '@rushstack/heft': link:../../apps/heft '@rushstack/heft-webpack5-plugin': link:../../heft-plugins/heft-webpack5-plugin '@types/webpack-env': 1.18.0 - html-webpack-plugin: 4.5.2_webpack@5.78.0 + html-webpack-plugin: 4.5.2_webpack@5.80.0 typescript: 4.8.4 - webpack: 5.78.0 + webpack: 5.80.0 webpack-bundle-analyzer: 4.5.0 ../../build-tests/heft-action-plugin: @@ -1178,7 +1178,7 @@ importers: tslint: ~5.20.1 tslint-microsoft-contrib: ~6.2.0 typescript: ~4.8.4 - webpack: ~5.78.0 + webpack: ~5.80.0 devDependencies: '@rushstack/eslint-config': link:../../eslint/eslint-config '@rushstack/heft': link:../../apps/heft @@ -1190,11 +1190,11 @@ importers: '@types/heft-jest': 1.0.1 '@types/webpack-env': 1.18.0 eslint: 8.7.0 - html-webpack-plugin: 5.5.0_webpack@5.78.0 + html-webpack-plugin: 5.5.0_webpack@5.80.0 tslint: 5.20.1_typescript@4.8.4 tslint-microsoft-contrib: 6.2.0_is64cncltak2c2767drphpzcku typescript: 4.8.4 - webpack: 5.78.0 + webpack: 5.80.0 ../../build-tests/install-test-workspace: specifiers: @@ -1521,7 +1521,7 @@ importers: '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 eslint: ~8.7.0 - webpack: ~5.78.0 + webpack: ~5.80.0 webpack-dev-server: ~4.9.3 dependencies: '@rushstack/debug-certificate-manager': link:../../libraries/debug-certificate-manager @@ -1534,8 +1534,8 @@ importers: '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 eslint: 8.7.0 - webpack: 5.78.0 - webpack-dev-server: 4.9.3_webpack@5.78.0 + webpack: 5.80.0 + webpack-dev-server: 4.9.3_webpack@5.80.0 ../../heft-plugins/heft-jest-plugin: specifiers: @@ -1673,17 +1673,17 @@ importers: '@rushstack/heft-node-rig': workspace:* '@rushstack/node-core-library': workspace:* '@types/node': 14.18.36 - webpack: ~5.78.0 + webpack: ~5.80.0 webpack-dev-server: ~4.9.3 dependencies: '@rushstack/node-core-library': link:../../libraries/node-core-library - webpack-dev-server: 4.9.3_webpack@5.78.0 + webpack-dev-server: 4.9.3_webpack@5.80.0 devDependencies: '@rushstack/eslint-config': link:../../eslint/eslint-config '@rushstack/heft': link:../../apps/heft '@rushstack/heft-node-rig': link:../../rigs/heft-node-rig '@types/node': 14.18.36 - webpack: 5.78.0 + webpack: 5.80.0 ../../libraries/api-extractor-model: specifiers: @@ -1953,7 +1953,7 @@ importers: tapable: 2.2.1 tar: ~6.1.11 true-case-path: ~2.2.1 - webpack: ~5.78.0 + webpack: ~5.80.0 dependencies: '@pnpm/link-bins': 5.3.25 '@rushstack/heft-config-file': link:../heft-config-file @@ -2016,7 +2016,7 @@ importers: '@types/strict-uri-encode': 2.0.0 '@types/tar': 6.1.1 '@types/webpack-env': 1.18.0 - webpack: 5.78.0 + webpack: 5.80.0 ../../libraries/rush-sdk: specifiers: @@ -2315,7 +2315,7 @@ importers: terser-webpack-plugin: ~5.3.1 typescript: ~4.8.4 url-loader: ~4.1.1 - webpack: ~5.78.0 + webpack: ~5.80.0 webpack-bundle-analyzer: ~4.5.0 webpack-merge: ~5.8.0 dependencies: @@ -2324,22 +2324,22 @@ importers: '@rushstack/heft-sass-plugin': link:../../heft-plugins/heft-sass-plugin '@rushstack/heft-webpack5-plugin': link:../../heft-plugins/heft-webpack5-plugin autoprefixer: 10.4.13_postcss@8.4.21 - css-loader: 6.6.0_webpack@5.78.0 - css-minimizer-webpack-plugin: 3.4.1_webpack@5.78.0 + css-loader: 6.6.0_webpack@5.80.0 + css-minimizer-webpack-plugin: 3.4.1_webpack@5.80.0 eslint: 8.7.0 - html-webpack-plugin: 5.5.0_webpack@5.78.0 + html-webpack-plugin: 5.5.0_webpack@5.80.0 jest-environment-jsdom: 29.5.0 - mini-css-extract-plugin: 2.5.3_webpack@5.78.0 + mini-css-extract-plugin: 2.5.3_webpack@5.80.0 postcss: 8.4.21 - postcss-loader: 6.2.1_2izhiogyhzv3k6gmxpzxzwhblu + postcss-loader: 6.2.1_s3hlmk3dolibrgzfaoz6qln5l4 sass: 1.49.11 - sass-loader: 12.4.0_nhnw2mbyotoesjxyh2t7o6kqbq - source-map-loader: 3.0.2_webpack@5.78.0 - style-loader: 3.3.1_webpack@5.78.0 - terser-webpack-plugin: 5.3.6_webpack@5.78.0 + sass-loader: 12.4.0_eyzo4krppp6jzbzhebz7eme2km + source-map-loader: 3.0.2_webpack@5.80.0 + style-loader: 3.3.1_webpack@5.80.0 + terser-webpack-plugin: 5.3.6_webpack@5.80.0 typescript: 4.8.4 - url-loader: 4.1.1_webpack@5.78.0 - webpack: 5.78.0 + url-loader: 4.1.1_webpack@5.80.0 + webpack: 5.80.0 webpack-bundle-analyzer: 4.5.0 webpack-merge: 5.8.0 devDependencies: @@ -2554,14 +2554,14 @@ importers: '@rushstack/heft-node-rig': workspace:* '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 - webpack: ~5.78.0 + webpack: ~5.80.0 devDependencies: '@rushstack/eslint-config': link:../../eslint/eslint-config '@rushstack/heft': link:../../apps/heft '@rushstack/heft-node-rig': link:../../rigs/heft-node-rig '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 - webpack: 5.78.0 + webpack: 5.80.0 ../../webpack/set-webpack-public-path-plugin: specifiers: @@ -2594,7 +2594,7 @@ importers: '@rushstack/node-core-library': workspace:* '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 - webpack: ~5.78.0 + webpack: ~5.80.0 dependencies: '@rushstack/node-core-library': link:../../libraries/node-core-library devDependencies: @@ -2603,7 +2603,7 @@ importers: '@rushstack/heft-node-rig': link:../../rigs/heft-node-rig '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 - webpack: 5.78.0 + webpack: 5.80.0 ../../webpack/webpack-embedded-dependencies-plugin: specifiers: @@ -2615,7 +2615,7 @@ importers: '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 memfs: 3.4.3 - webpack: ~5.78.0 + webpack: ~5.80.0 dependencies: '@rushstack/node-core-library': link:../../libraries/node-core-library devDependencies: @@ -2626,7 +2626,7 @@ importers: '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 memfs: 3.4.3 - webpack: 5.78.0 + webpack: 5.80.0 ../../webpack/webpack-plugin-utilities: specifiers: @@ -2637,7 +2637,7 @@ importers: '@types/node': 14.18.36 '@types/tapable': 1.0.6 memfs: 3.4.3 - webpack: ~5.78.0 + webpack: ~5.80.0 webpack-merge: ~5.8.0 dependencies: memfs: 3.4.3 @@ -2649,7 +2649,7 @@ importers: '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 '@types/tapable': 1.0.6 - webpack: 5.78.0 + webpack: 5.80.0 ../../webpack/webpack4-localization-plugin: specifiers: @@ -2730,7 +2730,7 @@ importers: '@types/node': 14.18.36 css-loader: ~6.6.0 memfs: 3.4.3 - webpack: ~5.78.0 + webpack: ~5.80.0 devDependencies: '@microsoft/load-themed-styles': link:../../libraries/load-themed-styles '@rushstack/eslint-config': link:../../eslint/eslint-config @@ -2739,9 +2739,9 @@ importers: '@rushstack/node-core-library': link:../../libraries/node-core-library '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 - css-loader: 6.6.0_webpack@5.78.0 + css-loader: 6.6.0_webpack@5.80.0 memfs: 3.4.3 - webpack: 5.78.0 + webpack: 5.80.0 ../../webpack/webpack5-localization-plugin: specifiers: @@ -2753,7 +2753,7 @@ importers: '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 memfs: 3.4.3 - webpack: ~5.78.0 + webpack: ~5.80.0 dependencies: '@rushstack/localization-utilities': link:../../libraries/localization-utilities '@rushstack/node-core-library': link:../../libraries/node-core-library @@ -2764,7 +2764,7 @@ importers: '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 memfs: 3.4.3 - webpack: 5.78.0 + webpack: 5.80.0 ../../webpack/webpack5-module-minifier-plugin: specifiers: @@ -2779,7 +2779,7 @@ importers: '@types/tapable': 1.0.6 memfs: 3.4.3 tapable: 2.2.1 - webpack: ~5.78.0 + webpack: ~5.80.0 dependencies: '@rushstack/worker-pool': link:../../libraries/worker-pool '@types/estree': 0.0.50 @@ -2793,7 +2793,7 @@ importers: '@types/heft-jest': 1.0.1 '@types/node': 14.18.36 memfs: 3.4.3 - webpack: 5.78.0 + webpack: 5.80.0 packages: @@ -5964,7 +5964,7 @@ packages: html-entities: 2.3.3 loader-utils: 2.0.4 react-refresh: 0.11.0 - schema-utils: 3.1.1 + schema-utils: 3.1.2 source-map: 0.7.4 webpack: 4.44.2 dev: true @@ -8556,8 +8556,8 @@ packages: /@types/estree/0.0.50: resolution: {integrity: sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==} - /@types/estree/0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + /@types/estree/1.0.1: + resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} /@types/events/3.0.0: resolution: {integrity: sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==} @@ -9258,11 +9258,11 @@ packages: resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} dev: false - /@webassemblyjs/ast/1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + /@webassemblyjs/ast/1.11.5: + resolution: {integrity: sha512-LHY/GSAZZRpsNQH+/oHqhRQ5FT7eoULcBqgfyTB5nQHogFnK3/7QoN7dLnwSE/JkUAF0SrRuclT7ODqMFtWxxQ==} dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-numbers': 1.11.5 + '@webassemblyjs/helper-wasm-bytecode': 1.11.5 /@webassemblyjs/ast/1.9.0: resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==} @@ -9271,20 +9271,20 @@ packages: '@webassemblyjs/helper-wasm-bytecode': 1.9.0 '@webassemblyjs/wast-parser': 1.9.0 - /@webassemblyjs/floating-point-hex-parser/1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + /@webassemblyjs/floating-point-hex-parser/1.11.5: + resolution: {integrity: sha512-1j1zTIC5EZOtCplMBG/IEwLtUojtwFVwdyVMbL/hwWqbzlQoJsWCOavrdnLkemwNoC/EOwtUFch3fuo+cbcXYQ==} /@webassemblyjs/floating-point-hex-parser/1.9.0: resolution: {integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==} - /@webassemblyjs/helper-api-error/1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + /@webassemblyjs/helper-api-error/1.11.5: + resolution: {integrity: sha512-L65bDPmfpY0+yFrsgz8b6LhXmbbs38OnwDCf6NpnMUYqa+ENfE5Dq9E42ny0qz/PdR0LJyq/T5YijPnU8AXEpA==} /@webassemblyjs/helper-api-error/1.9.0: resolution: {integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==} - /@webassemblyjs/helper-buffer/1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + /@webassemblyjs/helper-buffer/1.11.5: + resolution: {integrity: sha512-fDKo1gstwFFSfacIeH5KfwzjykIE6ldh1iH9Y/8YkAZrhmu4TctqYjSh7t0K2VyDSXOZJ1MLhht/k9IvYGcIxg==} /@webassemblyjs/helper-buffer/1.9.0: resolution: {integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==} @@ -9302,26 +9302,26 @@ packages: dependencies: '@webassemblyjs/ast': 1.9.0 - /@webassemblyjs/helper-numbers/1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + /@webassemblyjs/helper-numbers/1.11.5: + resolution: {integrity: sha512-DhykHXM0ZABqfIGYNv93A5KKDw/+ywBFnuWybZZWcuzWHfbp21wUfRkbtz7dMGwGgT4iXjWuhRMA2Mzod6W4WA==} dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/floating-point-hex-parser': 1.11.5 + '@webassemblyjs/helper-api-error': 1.11.5 '@xtuc/long': 4.2.2 - /@webassemblyjs/helper-wasm-bytecode/1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + /@webassemblyjs/helper-wasm-bytecode/1.11.5: + resolution: {integrity: sha512-oC4Qa0bNcqnjAowFn7MPCETQgDYytpsfvz4ujZz63Zu/a/v71HeCAAmZsgZ3YVKec3zSPYytG3/PrRCqbtcAvA==} /@webassemblyjs/helper-wasm-bytecode/1.9.0: resolution: {integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==} - /@webassemblyjs/helper-wasm-section/1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + /@webassemblyjs/helper-wasm-section/1.11.5: + resolution: {integrity: sha512-uEoThA1LN2NA+K3B9wDo3yKlBfVtC6rh0i4/6hvbz071E8gTNZD/pT0MsBf7MeD6KbApMSkaAK0XeKyOZC7CIA==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/helper-buffer': 1.11.5 + '@webassemblyjs/helper-wasm-bytecode': 1.11.5 + '@webassemblyjs/wasm-gen': 1.11.5 /@webassemblyjs/helper-wasm-section/1.9.0: resolution: {integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==} @@ -9331,8 +9331,8 @@ packages: '@webassemblyjs/helper-wasm-bytecode': 1.9.0 '@webassemblyjs/wasm-gen': 1.9.0 - /@webassemblyjs/ieee754/1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + /@webassemblyjs/ieee754/1.11.5: + resolution: {integrity: sha512-37aGq6qVL8A8oPbPrSGMBcp38YZFXcHfiROflJn9jxSdSMMM5dS5P/9e2/TpaJuhE+wFrbukN2WI6Hw9MH5acg==} dependencies: '@xtuc/ieee754': 1.2.0 @@ -9341,8 +9341,8 @@ packages: dependencies: '@xtuc/ieee754': 1.2.0 - /@webassemblyjs/leb128/1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + /@webassemblyjs/leb128/1.11.5: + resolution: {integrity: sha512-ajqrRSXaTJoPW+xmkfYN6l8VIeNnR4vBOTQO9HzR7IygoCcKWkICbKFbVTNMjMgMREqXEr0+2M6zukzM47ZUfQ==} dependencies: '@xtuc/long': 4.2.2 @@ -9351,23 +9351,23 @@ packages: dependencies: '@xtuc/long': 4.2.2 - /@webassemblyjs/utf8/1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + /@webassemblyjs/utf8/1.11.5: + resolution: {integrity: sha512-WiOhulHKTZU5UPlRl53gHR8OxdGsSOxqfpqWeA2FmcwBMaoEdz6b2x2si3IwC9/fSPLfe8pBMRTHVMk5nlwnFQ==} /@webassemblyjs/utf8/1.9.0: resolution: {integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==} - /@webassemblyjs/wasm-edit/1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + /@webassemblyjs/wasm-edit/1.11.5: + resolution: {integrity: sha512-C0p9D2fAu3Twwqvygvf42iGCQ4av8MFBLiTb+08SZ4cEdwzWx9QeAHDo1E2k+9s/0w1DM40oflJOpkZ8jW4HCQ==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/helper-buffer': 1.11.5 + '@webassemblyjs/helper-wasm-bytecode': 1.11.5 + '@webassemblyjs/helper-wasm-section': 1.11.5 + '@webassemblyjs/wasm-gen': 1.11.5 + '@webassemblyjs/wasm-opt': 1.11.5 + '@webassemblyjs/wasm-parser': 1.11.5 + '@webassemblyjs/wast-printer': 1.11.5 /@webassemblyjs/wasm-edit/1.9.0: resolution: {integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==} @@ -9381,14 +9381,14 @@ packages: '@webassemblyjs/wasm-parser': 1.9.0 '@webassemblyjs/wast-printer': 1.9.0 - /@webassemblyjs/wasm-gen/1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + /@webassemblyjs/wasm-gen/1.11.5: + resolution: {integrity: sha512-14vteRlRjxLK9eSyYFvw1K8Vv+iPdZU0Aebk3j6oB8TQiQYuO6hj9s4d7qf6f2HJr2khzvNldAFG13CgdkAIfA==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/helper-wasm-bytecode': 1.11.5 + '@webassemblyjs/ieee754': 1.11.5 + '@webassemblyjs/leb128': 1.11.5 + '@webassemblyjs/utf8': 1.11.5 /@webassemblyjs/wasm-gen/1.9.0: resolution: {integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==} @@ -9399,13 +9399,13 @@ packages: '@webassemblyjs/leb128': 1.9.0 '@webassemblyjs/utf8': 1.9.0 - /@webassemblyjs/wasm-opt/1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + /@webassemblyjs/wasm-opt/1.11.5: + resolution: {integrity: sha512-tcKwlIXstBQgbKy1MlbDMlXaxpucn42eb17H29rawYLxm5+MsEmgPzeCP8B1Cl69hCice8LeKgZpRUAPtqYPgw==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/helper-buffer': 1.11.5 + '@webassemblyjs/wasm-gen': 1.11.5 + '@webassemblyjs/wasm-parser': 1.11.5 /@webassemblyjs/wasm-opt/1.9.0: resolution: {integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==} @@ -9415,15 +9415,15 @@ packages: '@webassemblyjs/wasm-gen': 1.9.0 '@webassemblyjs/wasm-parser': 1.9.0 - /@webassemblyjs/wasm-parser/1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + /@webassemblyjs/wasm-parser/1.11.5: + resolution: {integrity: sha512-SVXUIwsLQlc8srSD7jejsfTU83g7pIGr2YYNb9oHdtldSxaOhvA5xwvIiWIfcX8PlSakgqMXsLpLfbbJ4cBYew==} dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/helper-api-error': 1.11.5 + '@webassemblyjs/helper-wasm-bytecode': 1.11.5 + '@webassemblyjs/ieee754': 1.11.5 + '@webassemblyjs/leb128': 1.11.5 + '@webassemblyjs/utf8': 1.11.5 /@webassemblyjs/wasm-parser/1.9.0: resolution: {integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==} @@ -9445,10 +9445,10 @@ packages: '@webassemblyjs/helper-fsm': 1.9.0 '@xtuc/long': 4.2.2 - /@webassemblyjs/wast-printer/1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + /@webassemblyjs/wast-printer/1.11.5: + resolution: {integrity: sha512-f7Pq3wvg3GSPUPzR0F6bmI89Hdb+u9WXrSKc4v+N0aV0q6r42WoF92Jp2jEorBEBRoRNXgjp53nBniDXcqZYPA==} dependencies: - '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/ast': 1.11.5 '@xtuc/long': 4.2.2 /@webassemblyjs/wast-printer/1.9.0: @@ -11637,7 +11637,7 @@ packages: webpack: 4.44.2 dev: true - /css-loader/6.6.0_webpack@5.78.0: + /css-loader/6.6.0_webpack@5.80.0: resolution: {integrity: sha512-FK7H2lisOixPT406s5gZM1S3l8GrfhEBT3ZiL2UX1Ng1XWs0y2GPllz/OTyvbaHe12VgQrIXIzuEGVlbUhodqg==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -11651,9 +11651,9 @@ packages: postcss-modules-values: 4.0.0_postcss@8.4.21 postcss-value-parser: 4.2.0 semver: 7.3.8 - webpack: 5.78.0 + webpack: 5.80.0 - /css-minimizer-webpack-plugin/3.4.1_webpack@5.78.0: + /css-minimizer-webpack-plugin/3.4.1_webpack@5.80.0: resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -11678,7 +11678,7 @@ packages: schema-utils: 4.0.0 serialize-javascript: 6.0.0 source-map: 0.6.1 - webpack: 5.78.0 + webpack: 5.80.0 dev: false /css-modules-loader-core/1.1.0: @@ -12412,8 +12412,8 @@ packages: memory-fs: 0.5.0 tapable: 1.1.3 - /enhanced-resolve/5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + /enhanced-resolve/5.13.0: + resolution: {integrity: sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==} engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.10 @@ -12520,8 +12520,8 @@ packages: stop-iteration-iterator: 1.0.0 dev: true - /es-module-lexer/0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + /es-module-lexer/1.2.1: + resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==} /es-set-tostringtag/2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} @@ -13592,7 +13592,7 @@ packages: webpack: ^4.0.0 || ^5.0.0 dependencies: loader-utils: 2.0.4 - schema-utils: 3.1.1 + schema-utils: 3.1.2 webpack: 4.44.2 dev: true @@ -14623,7 +14623,7 @@ packages: util.promisify: 1.0.0 webpack: 4.44.2 - /html-webpack-plugin/4.5.2_webpack@5.78.0: + /html-webpack-plugin/4.5.2_webpack@5.80.0: resolution: {integrity: sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==} engines: {node: '>=6.9'} peerDependencies: @@ -14638,10 +14638,10 @@ packages: pretty-error: 2.1.2 tapable: 1.1.3 util.promisify: 1.0.0 - webpack: 5.78.0 + webpack: 5.80.0 dev: true - /html-webpack-plugin/5.5.0_webpack@5.78.0: + /html-webpack-plugin/5.5.0_webpack@5.80.0: resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==} engines: {node: '>=10.13.0'} peerDependencies: @@ -14652,7 +14652,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.78.0 + webpack: 5.80.0 /htmlparser2/6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} @@ -17346,14 +17346,14 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - /mini-css-extract-plugin/2.5.3_webpack@5.78.0: + /mini-css-extract-plugin/2.5.3_webpack@5.80.0: resolution: {integrity: sha512-YseMB8cs8U/KCaAGQoqYmfUuhhGW0a9p9XvWXrxVOkE3/IiISTLw4ALNt7JR5B2eYauFM+PQGSbXMDmVbR7Tfw==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: schema-utils: 4.0.0 - webpack: 5.78.0 + webpack: 5.80.0 dev: false /minimalistic-assert/1.0.1: @@ -18534,12 +18534,12 @@ packages: klona: 2.0.6 loader-utils: 2.0.4 postcss: 7.0.39 - schema-utils: 3.1.1 + schema-utils: 3.1.2 semver: 7.3.8 webpack: 4.44.2 dev: true - /postcss-loader/6.2.1_2izhiogyhzv3k6gmxpzxzwhblu: + /postcss-loader/6.2.1_s3hlmk3dolibrgzfaoz6qln5l4: resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -18550,7 +18550,7 @@ packages: klona: 2.0.6 postcss: 8.4.21 semver: 7.3.8 - webpack: 5.78.0 + webpack: 5.80.0 dev: false /postcss-merge-longhand/5.1.7_postcss@8.4.21: @@ -19263,7 +19263,7 @@ packages: webpack: ^4.0.0 || ^5.0.0 dependencies: loader-utils: 2.0.4 - schema-utils: 3.1.1 + schema-utils: 3.1.2 webpack: 4.44.2 dev: true @@ -20152,7 +20152,7 @@ packages: webpack: 4.44.2 dev: true - /sass-loader/12.4.0_nhnw2mbyotoesjxyh2t7o6kqbq: + /sass-loader/12.4.0_eyzo4krppp6jzbzhebz7eme2km: resolution: {integrity: sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -20171,7 +20171,7 @@ packages: klona: 2.0.6 neo-async: 2.6.2 sass: 1.49.11 - webpack: 5.78.0 + webpack: 5.80.0 dev: false /sass/1.3.2: @@ -20251,6 +20251,14 @@ packages: ajv: 6.12.6 ajv-keywords: 3.5.2_ajv@6.12.6 + /schema-utils/3.1.2: + resolution: {integrity: sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.11 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + /schema-utils/4.0.0: resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} engines: {node: '>= 12.13.0'} @@ -20343,6 +20351,12 @@ packages: resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} dependencies: randombytes: 2.1.0 + dev: false + + /serialize-javascript/6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + dependencies: + randombytes: 2.1.0 /serve-favicon/2.5.0: resolution: {integrity: sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==} @@ -20587,7 +20601,7 @@ packages: whatwg-mimetype: 2.3.0 dev: true - /source-map-loader/3.0.2_webpack@5.78.0: + /source-map-loader/3.0.2_webpack@5.80.0: resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -20596,7 +20610,7 @@ packages: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.0.2 - webpack: 5.78.0 + webpack: 5.80.0 /source-map-resolve/0.5.3: resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} @@ -20993,13 +21007,13 @@ packages: webpack: 4.44.2 dev: true - /style-loader/3.3.1_webpack@5.78.0: + /style-loader/3.3.1_webpack@5.80.0: resolution: {integrity: sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 dependencies: - webpack: 5.78.0 + webpack: 5.80.0 /style-to-object/0.3.0: resolution: {integrity: sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==} @@ -21221,7 +21235,7 @@ packages: find-cache-dir: 3.3.2 jest-worker: 26.6.2 p-limit: 3.1.0 - schema-utils: 3.1.1 + schema-utils: 3.1.2 serialize-javascript: 5.0.1 source-map: 0.6.1 terser: 5.16.1 @@ -21229,7 +21243,7 @@ packages: webpack-sources: 1.4.3 dev: true - /terser-webpack-plugin/5.3.6_webpack@5.78.0: + /terser-webpack-plugin/5.3.6_webpack@5.80.0: resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -21250,7 +21264,31 @@ packages: schema-utils: 3.1.1 serialize-javascript: 6.0.0 terser: 5.16.1 - webpack: 5.78.0 + webpack: 5.80.0 + dev: false + + /terser-webpack-plugin/5.3.7_webpack@5.80.0: + resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.17 + jest-worker: 27.5.1 + schema-utils: 3.1.2 + serialize-javascript: 6.0.1 + terser: 5.17.1 + webpack: 5.80.0 /terser/4.8.1: resolution: {integrity: sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==} @@ -21271,6 +21309,16 @@ packages: commander: 2.20.3 source-map-support: 0.5.21 + /terser/5.17.1: + resolution: {integrity: sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.2 + acorn: 8.8.2 + commander: 2.20.3 + source-map-support: 0.5.21 + /test-exclude/6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -21848,7 +21896,7 @@ packages: resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} deprecated: Please see https://github.com/lydell/urix#deprecated - /url-loader/4.1.1_webpack@5.78.0: + /url-loader/4.1.1_webpack@5.80.0: resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -21861,7 +21909,7 @@ packages: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.1.1 - webpack: 5.78.0 + webpack: 5.80.0 dev: false /url-loader/4.1.1_zmzwotvrfu62vdeozbyveyswza: @@ -22260,7 +22308,7 @@ packages: webpack: 4.44.2_webpack-cli@3.3.12 dev: false - /webpack-dev-middleware/5.3.3_webpack@5.78.0: + /webpack-dev-middleware/5.3.3_webpack@5.80.0: resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -22275,7 +22323,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.0.0 - webpack: 5.78.0 + webpack: 5.80.0 /webpack-dev-server/4.9.3_2jhnw6fokymnjfoumvhvkjoyjq: resolution: {integrity: sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==} @@ -22385,7 +22433,7 @@ packages: - utf-8-validate dev: false - /webpack-dev-server/4.9.3_webpack@5.78.0: + /webpack-dev-server/4.9.3_webpack@5.80.0: resolution: {integrity: sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==} engines: {node: '>= 12.13.0'} hasBin: true @@ -22428,8 +22476,8 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.78.0 - webpack-dev-middleware: 5.3.3_webpack@5.78.0 + webpack: 5.80.0 + webpack-dev-middleware: 5.3.3_webpack@5.80.0 ws: 8.12.0 transitivePeerDependencies: - bufferutil @@ -22562,8 +22610,8 @@ packages: webpack-sources: 1.4.3 dev: false - /webpack/5.78.0: - resolution: {integrity: sha512-gT5DP72KInmE/3azEaQrISjTvLYlSM0j1Ezhht/KLVkrqtv10JoP/RXhwmX/frrutOPuSq3o5Vq0ehR/4Vmd1g==} + /webpack/5.80.0: + resolution: {integrity: sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -22573,16 +22621,16 @@ packages: optional: true dependencies: '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 + '@types/estree': 1.0.1 + '@webassemblyjs/ast': 1.11.5 + '@webassemblyjs/wasm-edit': 1.11.5 + '@webassemblyjs/wasm-parser': 1.11.5 acorn: 8.8.2 acorn-import-assertions: 1.8.0_acorn@8.8.2 browserslist: 4.21.4 chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 + enhanced-resolve: 5.13.0 + es-module-lexer: 1.2.1 eslint-scope: 5.1.1 events: 3.3.0 glob-to-regexp: 0.4.1 @@ -22591,9 +22639,9 @@ packages: loader-runner: 4.3.0 mime-types: 2.1.35 neo-async: 2.6.2 - schema-utils: 3.1.1 + schema-utils: 3.1.2 tapable: 2.2.1 - terser-webpack-plugin: 5.3.6_webpack@5.78.0 + terser-webpack-plugin: 5.3.7_webpack@5.80.0 watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 1635974bec4..8bf829eaecf 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "6ccbade8b892e34c52192c92b8dcba06ec1d9b48", + "pnpmShrinkwrapHash": "a1681a4c0e1d3c156fa5e501a94688a520955940", "preferredVersionsHash": "5222ca779ae69ebfd201e39c17f48ce9eaf8c3c2" } From 47447232dbcf1b91138d3b0ab71650d9c89aea57 Mon Sep 17 00:00:00 2001 From: Sean Larkin Date: Thu, 20 Apr 2023 03:14:28 +0000 Subject: [PATCH 25/36] update snapshots --- .../workspace/common/pnpm-lock.yaml | 28 +++++++++---------- .../LoadThemedStylesLoader.test.ts.snap | 4 +-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml index 3b51102b5bc..1d59475562e 100644 --- a/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml +++ b/build-tests/install-test-workspace/workspace/common/pnpm-lock.yaml @@ -4,13 +4,13 @@ importers: rush-lib-test: specifiers: - '@microsoft/rush-lib': file:microsoft-rush-lib-5.97.0.tgz + '@microsoft/rush-lib': file:microsoft-rush-lib-5.97.1.tgz '@types/node': 14.18.36 colors: ^1.4.0 rimraf: ^4.1.2 typescript: ~4.8.4 dependencies: - '@microsoft/rush-lib': file:../temp/tarballs/microsoft-rush-lib-5.97.0.tgz_@types+node@14.18.36 + '@microsoft/rush-lib': file:../temp/tarballs/microsoft-rush-lib-5.97.1.tgz_@types+node@14.18.36 colors: 1.4.0 devDependencies: '@types/node': 14.18.36 @@ -19,17 +19,17 @@ importers: rush-sdk-test: specifiers: - '@microsoft/rush-lib': file:microsoft-rush-lib-5.97.0.tgz - '@rushstack/rush-sdk': file:rushstack-rush-sdk-5.97.0.tgz + '@microsoft/rush-lib': file:microsoft-rush-lib-5.97.1.tgz + '@rushstack/rush-sdk': file:rushstack-rush-sdk-5.97.1.tgz '@types/node': 14.18.36 colors: ^1.4.0 rimraf: ^4.1.2 typescript: ~4.8.4 dependencies: - '@rushstack/rush-sdk': file:../temp/tarballs/rushstack-rush-sdk-5.97.0.tgz_@types+node@14.18.36 + '@rushstack/rush-sdk': file:../temp/tarballs/rushstack-rush-sdk-5.97.1.tgz_@types+node@14.18.36 colors: 1.4.0 devDependencies: - '@microsoft/rush-lib': file:../temp/tarballs/microsoft-rush-lib-5.97.0.tgz_@types+node@14.18.36 + '@microsoft/rush-lib': file:../temp/tarballs/microsoft-rush-lib-5.97.1.tgz_@types+node@14.18.36 '@types/node': 14.18.36 rimraf: 4.1.2 typescript: 4.8.4 @@ -3653,11 +3653,11 @@ packages: optionalDependencies: commander: 2.20.3 - file:../temp/tarballs/microsoft-rush-lib-5.97.0.tgz_@types+node@14.18.36: - resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.97.0.tgz} - id: file:../temp/tarballs/microsoft-rush-lib-5.97.0.tgz + file:../temp/tarballs/microsoft-rush-lib-5.97.1.tgz_@types+node@14.18.36: + resolution: {tarball: file:../temp/tarballs/microsoft-rush-lib-5.97.1.tgz} + id: file:../temp/tarballs/microsoft-rush-lib-5.97.1.tgz name: '@microsoft/rush-lib' - version: 5.97.0 + version: 5.97.1 engines: {node: '>=5.6.0'} dependencies: '@pnpm/link-bins': 5.3.25 @@ -3890,11 +3890,11 @@ packages: resolve: 1.22.1 strip-json-comments: 3.1.1 - file:../temp/tarballs/rushstack-rush-sdk-5.97.0.tgz_@types+node@14.18.36: - resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.97.0.tgz} - id: file:../temp/tarballs/rushstack-rush-sdk-5.97.0.tgz + file:../temp/tarballs/rushstack-rush-sdk-5.97.1.tgz_@types+node@14.18.36: + resolution: {tarball: file:../temp/tarballs/rushstack-rush-sdk-5.97.1.tgz} + id: file:../temp/tarballs/rushstack-rush-sdk-5.97.1.tgz name: '@rushstack/rush-sdk' - version: 5.97.0 + version: 5.97.1 dependencies: '@rushstack/node-core-library': file:../temp/tarballs/rushstack-node-core-library-3.55.2.tgz_@types+node@14.18.36 '@types/node-fetch': 2.6.2 diff --git a/webpack/webpack5-load-themed-styles-loader/src/test/__snapshots__/LoadThemedStylesLoader.test.ts.snap b/webpack/webpack5-load-themed-styles-loader/src/test/__snapshots__/LoadThemedStylesLoader.test.ts.snap index d39216cab9a..aba1f28c703 100644 --- a/webpack/webpack5-load-themed-styles-loader/src/test/__snapshots__/LoadThemedStylesLoader.test.ts.snap +++ b/webpack/webpack5-load-themed-styles-loader/src/test/__snapshots__/LoadThemedStylesLoader.test.ts.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`webpack5-load-themed-style-loader generates desired loader output snapshot: LoaderContent 1`] = ` -"var content = require(\\"!!../../../../../common/temp/node_modules/.pnpm/css-loader@6.6.0_webpack@5.78.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./MockStyle1.css\\"); +"var content = require(\\"!!../../../../../common/temp/node_modules/.pnpm/css-loader@6.6.0_webpack@5.80.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./MockStyle1.css\\"); var loader = require(\\"../../../lib/test/testData/LoadThemedStylesMock\\"); if(typeof content === \\"string\\") content = [[module.id, content]]; @@ -13,7 +13,7 @@ if(content.locals) module.exports = content.locals;" `; exports[`webpack5-load-themed-style-loader generates desired output for esModule option set to "true" as a snapshot: LoaderContent ESModule 1`] = ` -"import content from \\"!!../../../../../common/temp/node_modules/.pnpm/css-loader@6.6.0_webpack@5.78.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./MockStyle1.css\\"; +"import content from \\"!!../../../../../common/temp/node_modules/.pnpm/css-loader@6.6.0_webpack@5.80.0/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!./MockStyle1.css\\"; import { loadStyles } from \\"../../../lib/test/testData/LoadThemedStylesMock\\"; if(typeof content === \\"string\\") content = [[module.id, content]]; From 791450bbed92e9e06df8a00ffa8603f4ad9cf87a Mon Sep 17 00:00:00 2001 From: Rushbot Date: Thu, 20 Apr 2023 15:16:56 +0000 Subject: [PATCH 26/36] Update changelogs [skip ci] --- .../main_2023-04-19-18-11.json | 10 ---------- .../main_2023-04-19-18-11.json | 10 ---------- .../heft-web-rig/main_2023-04-19-18-11.json | 10 ---------- .../main_2023-04-19-18-11.json | 10 ---------- .../main_2023-04-19-18-11.json | 10 ---------- .../main_2023-04-19-18-11.json | 10 ---------- .../main_2023-04-19-18-11.json | 10 ---------- .../main_2023-04-19-18-11.json | 10 ---------- .../main_2023-04-19-18-11.json | 10 ---------- .../heft-dev-cert-plugin/CHANGELOG.json | 12 +++++++++++ .../heft-dev-cert-plugin/CHANGELOG.md | 9 ++++++++- .../heft-webpack5-plugin/CHANGELOG.json | 12 +++++++++++ .../heft-webpack5-plugin/CHANGELOG.md | 9 ++++++++- libraries/load-themed-styles/CHANGELOG.json | 12 +++++++++++ libraries/load-themed-styles/CHANGELOG.md | 7 ++++++- rigs/heft-web-rig/CHANGELOG.json | 17 ++++++++++++++++ rigs/heft-web-rig/CHANGELOG.md | 9 ++++++++- .../hashed-folder-copy-plugin/CHANGELOG.json | 15 ++++++++++++++ .../hashed-folder-copy-plugin/CHANGELOG.md | 7 ++++++- .../loader-load-themed-styles/CHANGELOG.json | 15 ++++++++++++++ .../loader-load-themed-styles/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 12 +++++++++++ .../CHANGELOG.md | 9 ++++++++- .../CHANGELOG.json | 15 ++++++++++++++ .../CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 17 ++++++++++++++++ .../CHANGELOG.md | 9 ++++++++- .../webpack-plugin-utilities/CHANGELOG.json | 12 +++++++++++ webpack/webpack-plugin-utilities/CHANGELOG.md | 9 ++++++++- .../CHANGELOG.json | 15 ++++++++++++++ .../webpack4-localization-plugin/CHANGELOG.md | 7 ++++++- .../CHANGELOG.json | 20 +++++++++++++++++++ .../CHANGELOG.md | 9 ++++++++- .../CHANGELOG.json | 12 +++++++++++ .../webpack5-localization-plugin/CHANGELOG.md | 9 ++++++++- .../CHANGELOG.json | 12 +++++++++++ .../CHANGELOG.md | 9 ++++++++- 37 files changed, 300 insertions(+), 104 deletions(-) delete mode 100644 common/changes/@microsoft/webpack5-load-themed-styles-loader/main_2023-04-19-18-11.json delete mode 100644 common/changes/@rushstack/heft-dev-cert-plugin/main_2023-04-19-18-11.json delete mode 100644 common/changes/@rushstack/heft-web-rig/main_2023-04-19-18-11.json delete mode 100644 common/changes/@rushstack/heft-webpack5-plugin/main_2023-04-19-18-11.json delete mode 100644 common/changes/@rushstack/webpack-embedded-dependencies-plugin/main_2023-04-19-18-11.json delete mode 100644 common/changes/@rushstack/webpack-plugin-utilities/main_2023-04-19-18-11.json delete mode 100644 common/changes/@rushstack/webpack-preserve-dynamic-require-plugin/main_2023-04-19-18-11.json delete mode 100644 common/changes/@rushstack/webpack5-localization-plugin/main_2023-04-19-18-11.json delete mode 100644 common/changes/@rushstack/webpack5-module-minifier-plugin/main_2023-04-19-18-11.json diff --git a/common/changes/@microsoft/webpack5-load-themed-styles-loader/main_2023-04-19-18-11.json b/common/changes/@microsoft/webpack5-load-themed-styles-loader/main_2023-04-19-18-11.json deleted file mode 100644 index e2caa991a9c..00000000000 --- a/common/changes/@microsoft/webpack5-load-themed-styles-loader/main_2023-04-19-18-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@microsoft/webpack5-load-themed-styles-loader", - "comment": "Update webpack to v5.80.0", - "type": "patch" - } - ], - "packageName": "@microsoft/webpack5-load-themed-styles-loader" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-dev-cert-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/heft-dev-cert-plugin/main_2023-04-19-18-11.json deleted file mode 100644 index 91397a1251c..00000000000 --- a/common/changes/@rushstack/heft-dev-cert-plugin/main_2023-04-19-18-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-dev-cert-plugin", - "comment": "Update webpack to v5.80.0", - "type": "patch" - } - ], - "packageName": "@rushstack/heft-dev-cert-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-web-rig/main_2023-04-19-18-11.json b/common/changes/@rushstack/heft-web-rig/main_2023-04-19-18-11.json deleted file mode 100644 index 884af769d7c..00000000000 --- a/common/changes/@rushstack/heft-web-rig/main_2023-04-19-18-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-web-rig", - "comment": "Update webpack to v5.80.0", - "type": "patch" - } - ], - "packageName": "@rushstack/heft-web-rig" -} \ No newline at end of file diff --git a/common/changes/@rushstack/heft-webpack5-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/heft-webpack5-plugin/main_2023-04-19-18-11.json deleted file mode 100644 index 64bec2f61cd..00000000000 --- a/common/changes/@rushstack/heft-webpack5-plugin/main_2023-04-19-18-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/heft-webpack5-plugin", - "comment": "Update webpack to v5.80.0", - "type": "patch" - } - ], - "packageName": "@rushstack/heft-webpack5-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack-embedded-dependencies-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/webpack-embedded-dependencies-plugin/main_2023-04-19-18-11.json deleted file mode 100644 index 57d0e668773..00000000000 --- a/common/changes/@rushstack/webpack-embedded-dependencies-plugin/main_2023-04-19-18-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack-embedded-dependencies-plugin", - "comment": "Update webpack to v5.80.0", - "type": "patch" - } - ], - "packageName": "@rushstack/webpack-embedded-dependencies-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack-plugin-utilities/main_2023-04-19-18-11.json b/common/changes/@rushstack/webpack-plugin-utilities/main_2023-04-19-18-11.json deleted file mode 100644 index 7eea359d31a..00000000000 --- a/common/changes/@rushstack/webpack-plugin-utilities/main_2023-04-19-18-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack-plugin-utilities", - "comment": "Update webpack to v5.80.0", - "type": "patch" - } - ], - "packageName": "@rushstack/webpack-plugin-utilities" -} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack-preserve-dynamic-require-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/webpack-preserve-dynamic-require-plugin/main_2023-04-19-18-11.json deleted file mode 100644 index 60d5e055a9e..00000000000 --- a/common/changes/@rushstack/webpack-preserve-dynamic-require-plugin/main_2023-04-19-18-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack-preserve-dynamic-require-plugin", - "comment": "Update webpack to v5.80.0", - "type": "patch" - } - ], - "packageName": "@rushstack/webpack-preserve-dynamic-require-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack5-localization-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/webpack5-localization-plugin/main_2023-04-19-18-11.json deleted file mode 100644 index 13b7bc9a0ae..00000000000 --- a/common/changes/@rushstack/webpack5-localization-plugin/main_2023-04-19-18-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack5-localization-plugin", - "comment": "Update webpack to v5.80.0", - "type": "patch" - } - ], - "packageName": "@rushstack/webpack5-localization-plugin" -} \ No newline at end of file diff --git a/common/changes/@rushstack/webpack5-module-minifier-plugin/main_2023-04-19-18-11.json b/common/changes/@rushstack/webpack5-module-minifier-plugin/main_2023-04-19-18-11.json deleted file mode 100644 index 26b10926ff2..00000000000 --- a/common/changes/@rushstack/webpack5-module-minifier-plugin/main_2023-04-19-18-11.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@rushstack/webpack5-module-minifier-plugin", - "comment": "Update webpack to v5.80.0", - "type": "patch" - } - ], - "packageName": "@rushstack/webpack5-module-minifier-plugin" -} \ No newline at end of file diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json index 176d84d15f3..dc4ebc9b81c 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/heft-dev-cert-plugin", "entries": [ + { + "version": "0.2.24", + "tag": "@rushstack/heft-dev-cert-plugin_v0.2.24", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "patch": [ + { + "comment": "Update webpack to v5.80.0" + } + ] + } + }, { "version": "0.2.23", "tag": "@rushstack/heft-dev-cert-plugin_v0.2.23", diff --git a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md index 530be53199c..0ea98c13b68 100644 --- a/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md +++ b/heft-plugins/heft-dev-cert-plugin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/heft-dev-cert-plugin -This log was last generated on Mon, 17 Apr 2023 15:21:31 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 0.2.24 +Thu, 20 Apr 2023 15:16:55 GMT + +### Patches + +- Update webpack to v5.80.0 ## 0.2.23 Mon, 17 Apr 2023 15:21:31 GMT diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json index 665cca848f2..109142c819e 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.json +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/heft-webpack5-plugin", "entries": [ + { + "version": "0.6.5", + "tag": "@rushstack/heft-webpack5-plugin_v0.6.5", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "patch": [ + { + "comment": "Update webpack to v5.80.0" + } + ] + } + }, { "version": "0.6.4", "tag": "@rushstack/heft-webpack5-plugin_v0.6.4", diff --git a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md index 73a63e08437..45a9ea8af6f 100644 --- a/heft-plugins/heft-webpack5-plugin/CHANGELOG.md +++ b/heft-plugins/heft-webpack5-plugin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/heft-webpack5-plugin -This log was last generated on Tue, 11 Apr 2023 00:23:22 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 0.6.5 +Thu, 20 Apr 2023 15:16:55 GMT + +### Patches + +- Update webpack to v5.80.0 ## 0.6.4 Tue, 11 Apr 2023 00:23:22 GMT diff --git a/libraries/load-themed-styles/CHANGELOG.json b/libraries/load-themed-styles/CHANGELOG.json index 22a9a9441fb..c6c09f0ba52 100644 --- a/libraries/load-themed-styles/CHANGELOG.json +++ b/libraries/load-themed-styles/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@microsoft/load-themed-styles", "entries": [ + { + "version": "2.0.35", + "tag": "@microsoft/load-themed-styles_v2.0.35", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-web-rig\" to `0.14.11`" + } + ] + } + }, { "version": "2.0.34", "tag": "@microsoft/load-themed-styles_v2.0.34", diff --git a/libraries/load-themed-styles/CHANGELOG.md b/libraries/load-themed-styles/CHANGELOG.md index 681dffc4970..906c348f209 100644 --- a/libraries/load-themed-styles/CHANGELOG.md +++ b/libraries/load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/load-themed-styles -This log was last generated on Tue, 11 Apr 2023 00:23:22 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 2.0.35 +Thu, 20 Apr 2023 15:16:55 GMT + +_Version update only_ ## 2.0.34 Tue, 11 Apr 2023 00:23:22 GMT diff --git a/rigs/heft-web-rig/CHANGELOG.json b/rigs/heft-web-rig/CHANGELOG.json index 9de56c0a754..3d42071b09e 100644 --- a/rigs/heft-web-rig/CHANGELOG.json +++ b/rigs/heft-web-rig/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@rushstack/heft-web-rig", "entries": [ + { + "version": "0.14.11", + "tag": "@rushstack/heft-web-rig_v0.14.11", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "patch": [ + { + "comment": "Update webpack to v5.80.0" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.6.5`" + } + ] + } + }, { "version": "0.14.10", "tag": "@rushstack/heft-web-rig_v0.14.10", diff --git a/rigs/heft-web-rig/CHANGELOG.md b/rigs/heft-web-rig/CHANGELOG.md index a97c410f536..26efb239377 100644 --- a/rigs/heft-web-rig/CHANGELOG.md +++ b/rigs/heft-web-rig/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/heft-web-rig -This log was last generated on Tue, 11 Apr 2023 00:23:22 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 0.14.11 +Thu, 20 Apr 2023 15:16:55 GMT + +### Patches + +- Update webpack to v5.80.0 ## 0.14.10 Tue, 11 Apr 2023 00:23:22 GMT diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.json b/webpack/hashed-folder-copy-plugin/CHANGELOG.json index 7b3ac4249f9..a2bb1429592 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.json +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/hashed-folder-copy-plugin", "entries": [ + { + "version": "0.2.10", + "tag": "@rushstack/hashed-folder-copy-plugin_v0.2.10", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.2.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.6.5`" + } + ] + } + }, { "version": "0.2.9", "tag": "@rushstack/hashed-folder-copy-plugin_v0.2.9", diff --git a/webpack/hashed-folder-copy-plugin/CHANGELOG.md b/webpack/hashed-folder-copy-plugin/CHANGELOG.md index 592ecb901fb..345665d85f7 100644 --- a/webpack/hashed-folder-copy-plugin/CHANGELOG.md +++ b/webpack/hashed-folder-copy-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/hashed-folder-copy-plugin -This log was last generated on Tue, 11 Apr 2023 00:23:22 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 0.2.10 +Thu, 20 Apr 2023 15:16:55 GMT + +_Version update only_ ## 0.2.9 Tue, 11 Apr 2023 00:23:22 GMT diff --git a/webpack/loader-load-themed-styles/CHANGELOG.json b/webpack/loader-load-themed-styles/CHANGELOG.json index 4a327af22e2..12e6d6f05f6 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.json +++ b/webpack/loader-load-themed-styles/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@microsoft/loader-load-themed-styles", "entries": [ + { + "version": "2.0.33", + "tag": "@microsoft/loader-load-themed-styles_v2.0.33", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.35`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.34` to `^2.0.35`" + } + ] + } + }, { "version": "2.0.32", "tag": "@microsoft/loader-load-themed-styles_v2.0.32", diff --git a/webpack/loader-load-themed-styles/CHANGELOG.md b/webpack/loader-load-themed-styles/CHANGELOG.md index f5fdc3bf919..4495dea05bf 100644 --- a/webpack/loader-load-themed-styles/CHANGELOG.md +++ b/webpack/loader-load-themed-styles/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @microsoft/loader-load-themed-styles -This log was last generated on Tue, 11 Apr 2023 00:23:22 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 2.0.33 +Thu, 20 Apr 2023 15:16:55 GMT + +_Version update only_ ## 2.0.32 Tue, 11 Apr 2023 00:23:22 GMT diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json index d536b751506..8db4bae443e 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.json +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", "entries": [ + { + "version": "0.10.7", + "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.10.7", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "patch": [ + { + "comment": "Update webpack to v5.80.0" + } + ] + } + }, { "version": "0.10.6", "tag": "@rushstack/webpack-preserve-dynamic-require-plugin_v0.10.6", diff --git a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md index 88fec0685ab..55fd739b871 100644 --- a/webpack/preserve-dynamic-require-plugin/CHANGELOG.md +++ b/webpack/preserve-dynamic-require-plugin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/webpack-preserve-dynamic-require-plugin -This log was last generated on Fri, 07 Apr 2023 22:19:21 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 0.10.7 +Thu, 20 Apr 2023 15:16:55 GMT + +### Patches + +- Update webpack to v5.80.0 ## 0.10.6 Fri, 07 Apr 2023 22:19:21 GMT diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.json b/webpack/set-webpack-public-path-plugin/CHANGELOG.json index bd2e981d55f..1e838750121 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.json +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/set-webpack-public-path-plugin", "entries": [ + { + "version": "3.3.99", + "tag": "@rushstack/set-webpack-public-path-plugin_v3.3.99", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.2.4`" + }, + { + "comment": "Updating dependency \"@rushstack/heft-webpack5-plugin\" to `0.6.5`" + } + ] + } + }, { "version": "3.3.98", "tag": "@rushstack/set-webpack-public-path-plugin_v3.3.98", diff --git a/webpack/set-webpack-public-path-plugin/CHANGELOG.md b/webpack/set-webpack-public-path-plugin/CHANGELOG.md index 74c6c688037..3df79fadbf5 100644 --- a/webpack/set-webpack-public-path-plugin/CHANGELOG.md +++ b/webpack/set-webpack-public-path-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/set-webpack-public-path-plugin -This log was last generated on Tue, 11 Apr 2023 00:23:22 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 3.3.99 +Thu, 20 Apr 2023 15:16:55 GMT + +_Version update only_ ## 3.3.98 Tue, 11 Apr 2023 00:23:22 GMT diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json index 7df0670c714..a2eec5548ce 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.json @@ -1,6 +1,23 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", "entries": [ + { + "version": "0.1.4", + "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.1.4", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "patch": [ + { + "comment": "Update webpack to v5.80.0" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/webpack-plugin-utilities\" to `0.2.4`" + } + ] + } + }, { "version": "0.1.3", "tag": "@rushstack/webpack-embedded-dependencies-plugin_v0.1.3", diff --git a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md index 4052a1069e1..1f39cb21aff 100644 --- a/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md +++ b/webpack/webpack-embedded-dependencies-plugin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/webpack-embedded-dependencies-plugin -This log was last generated on Fri, 07 Apr 2023 22:19:21 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 0.1.4 +Thu, 20 Apr 2023 15:16:55 GMT + +### Patches + +- Update webpack to v5.80.0 ## 0.1.3 Fri, 07 Apr 2023 22:19:21 GMT diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.json b/webpack/webpack-plugin-utilities/CHANGELOG.json index 2a075db1201..3bbe5330ac2 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.json +++ b/webpack/webpack-plugin-utilities/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack-plugin-utilities", "entries": [ + { + "version": "0.2.4", + "tag": "@rushstack/webpack-plugin-utilities_v0.2.4", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "patch": [ + { + "comment": "Update webpack to v5.80.0" + } + ] + } + }, { "version": "0.2.3", "tag": "@rushstack/webpack-plugin-utilities_v0.2.3", diff --git a/webpack/webpack-plugin-utilities/CHANGELOG.md b/webpack/webpack-plugin-utilities/CHANGELOG.md index 9e707155a08..3dca98b5b41 100644 --- a/webpack/webpack-plugin-utilities/CHANGELOG.md +++ b/webpack/webpack-plugin-utilities/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/webpack-plugin-utilities -This log was last generated on Fri, 07 Apr 2023 22:19:21 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 0.2.4 +Thu, 20 Apr 2023 15:16:55 GMT + +### Patches + +- Update webpack to v5.80.0 ## 0.2.3 Fri, 07 Apr 2023 22:19:21 GMT diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.json b/webpack/webpack4-localization-plugin/CHANGELOG.json index c1ff6328098..20d537312e8 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.json +++ b/webpack/webpack4-localization-plugin/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@rushstack/webpack4-localization-plugin", "entries": [ + { + "version": "0.17.10", + "tag": "@rushstack/webpack4-localization-plugin_v0.17.10", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@rushstack/set-webpack-public-path-plugin\" to `3.3.99`" + }, + { + "comment": "Updating dependency \"@rushstack/set-webpack-public-path-plugin\" from `^3.3.98` to `^3.3.99`" + } + ] + } + }, { "version": "0.17.9", "tag": "@rushstack/webpack4-localization-plugin_v0.17.9", diff --git a/webpack/webpack4-localization-plugin/CHANGELOG.md b/webpack/webpack4-localization-plugin/CHANGELOG.md index aee000363f6..c67a0ec22c2 100644 --- a/webpack/webpack4-localization-plugin/CHANGELOG.md +++ b/webpack/webpack4-localization-plugin/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @rushstack/webpack4-localization-plugin -This log was last generated on Tue, 11 Apr 2023 00:23:22 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 0.17.10 +Thu, 20 Apr 2023 15:16:55 GMT + +_Version update only_ ## 0.17.9 Tue, 11 Apr 2023 00:23:22 GMT diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json index 8bc1555b16f..a2d58c2fb97 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.json @@ -1,6 +1,26 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", "entries": [ + { + "version": "0.1.17", + "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.1.17", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "patch": [ + { + "comment": "Update webpack to v5.80.0" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" to `2.0.35`" + }, + { + "comment": "Updating dependency \"@microsoft/load-themed-styles\" from `^2.0.34` to `^2.0.35`" + } + ] + } + }, { "version": "0.1.16", "tag": "@microsoft/webpack5-load-themed-styles-loader_v0.1.16", diff --git a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md index 0c99bd9e022..a48588b921d 100644 --- a/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md +++ b/webpack/webpack5-load-themed-styles-loader/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @microsoft/webpack5-load-themed-styles-loader -This log was last generated on Tue, 11 Apr 2023 00:23:22 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 0.1.17 +Thu, 20 Apr 2023 15:16:55 GMT + +### Patches + +- Update webpack to v5.80.0 ## 0.1.16 Tue, 11 Apr 2023 00:23:22 GMT diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.json b/webpack/webpack5-localization-plugin/CHANGELOG.json index 4fb06520d0a..111ede5d2c8 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.json +++ b/webpack/webpack5-localization-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack5-localization-plugin", "entries": [ + { + "version": "0.4.6", + "tag": "@rushstack/webpack5-localization-plugin_v0.4.6", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "patch": [ + { + "comment": "Update webpack to v5.80.0" + } + ] + } + }, { "version": "0.4.5", "tag": "@rushstack/webpack5-localization-plugin_v0.4.5", diff --git a/webpack/webpack5-localization-plugin/CHANGELOG.md b/webpack/webpack5-localization-plugin/CHANGELOG.md index 65cddcbb7a9..120c49ba32a 100644 --- a/webpack/webpack5-localization-plugin/CHANGELOG.md +++ b/webpack/webpack5-localization-plugin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/webpack5-localization-plugin -This log was last generated on Fri, 07 Apr 2023 22:19:21 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 0.4.6 +Thu, 20 Apr 2023 15:16:55 GMT + +### Patches + +- Update webpack to v5.80.0 ## 0.4.5 Fri, 07 Apr 2023 22:19:21 GMT diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json index 5d55f2709c8..12212fbf49e 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.json +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", "entries": [ + { + "version": "5.3.6", + "tag": "@rushstack/webpack5-module-minifier-plugin_v5.3.6", + "date": "Thu, 20 Apr 2023 15:16:55 GMT", + "comments": { + "patch": [ + { + "comment": "Update webpack to v5.80.0" + } + ] + } + }, { "version": "5.3.5", "tag": "@rushstack/webpack5-module-minifier-plugin_v5.3.5", diff --git a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md index 5784c22bce1..b03d19af8b0 100644 --- a/webpack/webpack5-module-minifier-plugin/CHANGELOG.md +++ b/webpack/webpack5-module-minifier-plugin/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @rushstack/webpack5-module-minifier-plugin -This log was last generated on Fri, 07 Apr 2023 22:19:21 GMT and should not be manually modified. +This log was last generated on Thu, 20 Apr 2023 15:16:55 GMT and should not be manually modified. + +## 5.3.6 +Thu, 20 Apr 2023 15:16:55 GMT + +### Patches + +- Update webpack to v5.80.0 ## 5.3.5 Fri, 07 Apr 2023 22:19:21 GMT From 41cfe3e5a005d7f4141a4e47c571236ec7e037a6 Mon Sep 17 00:00:00 2001 From: Rushbot Date: Thu, 20 Apr 2023 15:16:58 +0000 Subject: [PATCH 27/36] Bump versions [skip ci] --- heft-plugins/heft-dev-cert-plugin/package.json | 2 +- heft-plugins/heft-webpack5-plugin/package.json | 2 +- libraries/load-themed-styles/package.json | 2 +- rigs/heft-web-rig/package.json | 2 +- webpack/hashed-folder-copy-plugin/package.json | 2 +- webpack/loader-load-themed-styles/package.json | 4 ++-- webpack/preserve-dynamic-require-plugin/package.json | 2 +- webpack/set-webpack-public-path-plugin/package.json | 2 +- webpack/webpack-embedded-dependencies-plugin/package.json | 2 +- webpack/webpack-plugin-utilities/package.json | 2 +- webpack/webpack4-localization-plugin/package.json | 4 ++-- webpack/webpack5-load-themed-styles-loader/package.json | 4 ++-- webpack/webpack5-localization-plugin/package.json | 2 +- webpack/webpack5-module-minifier-plugin/package.json | 2 +- 14 files changed, 17 insertions(+), 17 deletions(-) diff --git a/heft-plugins/heft-dev-cert-plugin/package.json b/heft-plugins/heft-dev-cert-plugin/package.json index 76dbca939a4..c865ceb1b65 100644 --- a/heft-plugins/heft-dev-cert-plugin/package.json +++ b/heft-plugins/heft-dev-cert-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-dev-cert-plugin", - "version": "0.2.23", + "version": "0.2.24", "description": "A Heft plugin for generating and using local development certificates", "repository": { "type": "git", diff --git a/heft-plugins/heft-webpack5-plugin/package.json b/heft-plugins/heft-webpack5-plugin/package.json index 3cdce94ce75..ae23e6a5a22 100644 --- a/heft-plugins/heft-webpack5-plugin/package.json +++ b/heft-plugins/heft-webpack5-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-webpack5-plugin", - "version": "0.6.4", + "version": "0.6.5", "description": "Heft plugin for Webpack 5", "repository": { "type": "git", diff --git a/libraries/load-themed-styles/package.json b/libraries/load-themed-styles/package.json index 7e248cdd7c3..bde5dfe29e4 100644 --- a/libraries/load-themed-styles/package.json +++ b/libraries/load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/load-themed-styles", - "version": "2.0.34", + "version": "2.0.35", "description": "Loads themed styles.", "license": "MIT", "repository": { diff --git a/rigs/heft-web-rig/package.json b/rigs/heft-web-rig/package.json index 2172f5216f8..e924d51b71d 100644 --- a/rigs/heft-web-rig/package.json +++ b/rigs/heft-web-rig/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/heft-web-rig", - "version": "0.14.10", + "version": "0.14.11", "description": "A rig package for web browser projects that build using Heft", "license": "MIT", "scripts": { diff --git a/webpack/hashed-folder-copy-plugin/package.json b/webpack/hashed-folder-copy-plugin/package.json index 90c87e3f5ea..885a8691c90 100644 --- a/webpack/hashed-folder-copy-plugin/package.json +++ b/webpack/hashed-folder-copy-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/hashed-folder-copy-plugin", - "version": "0.2.9", + "version": "0.2.10", "description": "Webpack plugin for copying a folder to the output directory with a hash in the folder name.", "typings": "dist/hashed-folder-copy-plugin.d.ts", "main": "lib/index.js", diff --git a/webpack/loader-load-themed-styles/package.json b/webpack/loader-load-themed-styles/package.json index f6224ddaf2c..a8465de72c5 100644 --- a/webpack/loader-load-themed-styles/package.json +++ b/webpack/loader-load-themed-styles/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/loader-load-themed-styles", - "version": "2.0.32", + "version": "2.0.33", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -22,7 +22,7 @@ }, "peerDependencies": { "@types/webpack": "^4", - "@microsoft/load-themed-styles": "^2.0.34" + "@microsoft/load-themed-styles": "^2.0.35" }, "dependencies": { "loader-utils": "1.4.2" diff --git a/webpack/preserve-dynamic-require-plugin/package.json b/webpack/preserve-dynamic-require-plugin/package.json index ac5b9232914..bda4dbbfea6 100644 --- a/webpack/preserve-dynamic-require-plugin/package.json +++ b/webpack/preserve-dynamic-require-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-preserve-dynamic-require-plugin", - "version": "0.10.6", + "version": "0.10.7", "description": "This plugin tells webpack to leave dynamic calls to \"require\" as-is instead of trying to bundle them.", "main": "lib/index.js", "typings": "dist/webpack-preserve-dynamic-require-plugin.d.ts", diff --git a/webpack/set-webpack-public-path-plugin/package.json b/webpack/set-webpack-public-path-plugin/package.json index e692b91b323..9b8e9d635f7 100644 --- a/webpack/set-webpack-public-path-plugin/package.json +++ b/webpack/set-webpack-public-path-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/set-webpack-public-path-plugin", - "version": "3.3.98", + "version": "3.3.99", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/set-webpack-public-path-plugin.d.ts", diff --git a/webpack/webpack-embedded-dependencies-plugin/package.json b/webpack/webpack-embedded-dependencies-plugin/package.json index e0ea500f8a5..f579da3a3ff 100644 --- a/webpack/webpack-embedded-dependencies-plugin/package.json +++ b/webpack/webpack-embedded-dependencies-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-embedded-dependencies-plugin", - "version": "0.1.3", + "version": "0.1.4", "description": "This plugin analyzes bundled dependencies from Node Modules for use with Component Governance and License Scanning.", "main": "lib/index.js", "typings": "dist/webpack-embedded-dependencies-plugin.d.ts", diff --git a/webpack/webpack-plugin-utilities/package.json b/webpack/webpack-plugin-utilities/package.json index f75acf82681..4f1a4a0750e 100644 --- a/webpack/webpack-plugin-utilities/package.json +++ b/webpack/webpack-plugin-utilities/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack-plugin-utilities", - "version": "0.2.3", + "version": "0.2.4", "description": "This plugin sets the webpack public path at runtime.", "main": "lib/index.js", "typings": "dist/webpack-plugin-utilities.d.ts", diff --git a/webpack/webpack4-localization-plugin/package.json b/webpack/webpack4-localization-plugin/package.json index 6b0f5deac66..84f31c71bea 100644 --- a/webpack/webpack4-localization-plugin/package.json +++ b/webpack/webpack4-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack4-localization-plugin", - "version": "0.17.9", + "version": "0.17.10", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack4-localization-plugin.d.ts", @@ -15,7 +15,7 @@ "_phase:build": "heft build --clean" }, "peerDependencies": { - "@rushstack/set-webpack-public-path-plugin": "^3.3.98", + "@rushstack/set-webpack-public-path-plugin": "^3.3.99", "@types/webpack": "^4.39.0", "webpack": "^4.31.0", "@types/node": "*" diff --git a/webpack/webpack5-load-themed-styles-loader/package.json b/webpack/webpack5-load-themed-styles-loader/package.json index a3e8fc6c0bc..c504e6ce631 100644 --- a/webpack/webpack5-load-themed-styles-loader/package.json +++ b/webpack/webpack5-load-themed-styles-loader/package.json @@ -1,6 +1,6 @@ { "name": "@microsoft/webpack5-load-themed-styles-loader", - "version": "0.1.16", + "version": "0.1.17", "description": "This simple loader wraps the loading of CSS in script equivalent to `require('load-themed-styles').loadStyles( /* css text */ )`. It is designed to be a replacement for style-loader.", "main": "lib/index.js", "typings": "lib/index.d.ts", @@ -16,7 +16,7 @@ "_phase:test": "heft test --no-build" }, "peerDependencies": { - "@microsoft/load-themed-styles": "^2.0.34", + "@microsoft/load-themed-styles": "^2.0.35", "webpack": "^5" }, "peerDependenciesMeta": { diff --git a/webpack/webpack5-localization-plugin/package.json b/webpack/webpack5-localization-plugin/package.json index 5e5c8476607..f7f47947d12 100644 --- a/webpack/webpack5-localization-plugin/package.json +++ b/webpack/webpack5-localization-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-localization-plugin", - "version": "0.4.5", + "version": "0.4.6", "description": "This plugin facilitates localization with Webpack.", "main": "lib/index.js", "typings": "dist/webpack5-localization-plugin.d.ts", diff --git a/webpack/webpack5-module-minifier-plugin/package.json b/webpack/webpack5-module-minifier-plugin/package.json index 606e3d95918..dc4163334a0 100644 --- a/webpack/webpack5-module-minifier-plugin/package.json +++ b/webpack/webpack5-module-minifier-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@rushstack/webpack5-module-minifier-plugin", - "version": "5.3.5", + "version": "5.3.6", "description": "This plugin splits minification of webpack compilations into smaller units.", "main": "lib/index.js", "typings": "dist/webpack5-module-minifier-plugin.d.ts", From 46f3a98092352c9c36b04cfd223258b51215c726 Mon Sep 17 00:00:00 2001 From: David Michon Date: Thu, 20 Apr 2023 13:57:43 -0700 Subject: [PATCH 28/36] [rush-lib] Improve performance of 'rush version' --- ...-version-performance_2023-04-20-20-57.json | 10 +++++++ .../rush-lib/src/logic/PublishUtilities.ts | 28 +++++++++---------- 2 files changed, 23 insertions(+), 15 deletions(-) create mode 100644 common/changes/@microsoft/rush/rush-version-performance_2023-04-20-20-57.json diff --git a/common/changes/@microsoft/rush/rush-version-performance_2023-04-20-20-57.json b/common/changes/@microsoft/rush/rush-version-performance_2023-04-20-20-57.json new file mode 100644 index 00000000000..c1f293d5625 --- /dev/null +++ b/common/changes/@microsoft/rush/rush-version-performance_2023-04-20-20-57.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Improve performance of 'rush version' when using 'workspace:' protocol.", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/libraries/rush-lib/src/logic/PublishUtilities.ts b/libraries/rush-lib/src/logic/PublishUtilities.ts index 0a4eb2b8f3a..356a5d27647 100644 --- a/libraries/rush-lib/src/logic/PublishUtilities.ts +++ b/libraries/rush-lib/src/logic/PublishUtilities.ts @@ -788,21 +788,19 @@ export class PublishUtilities { // If the version range exists and has not yet been updated to this version, update it. if (requiredVersion.versionSpecifier !== change.newRangeDependency || alwaysUpdate) { let changeType: ChangeType | undefined; - if (changeType === undefined) { - // Propagate hotfix changes to dependencies - if (change.changeType === ChangeType.hotfix) { - changeType = ChangeType.hotfix; - } else { - // Either it already satisfies the new version, or doesn't. - // If not, the downstream dep needs to be republished. - // The downstream dep will also need to be republished if using `workspace:*` as this will publish - // as the exact version. - changeType = - semver.satisfies(change.newVersion!, requiredVersion.versionSpecifier) && - !isWorkspaceWildcardVersion - ? ChangeType.dependency - : ChangeType.patch; - } + // Propagate hotfix changes to dependencies + if (change.changeType === ChangeType.hotfix) { + changeType = ChangeType.hotfix; + } else { + // Either it already satisfies the new version, or doesn't. + // If not, the downstream dep needs to be republished. + // The downstream dep will also need to be republished if using `workspace:*` as this will publish + // as the exact version. + changeType = + !isWorkspaceWildcardVersion && + semver.satisfies(change.newVersion!, requiredVersion.versionSpecifier) + ? ChangeType.dependency + : ChangeType.patch; } hasChanges = PublishUtilities._addChange({ From 0a0cce749140a1fc908f699744ce23acaae9b001 Mon Sep 17 00:00:00 2001 From: David Michon Date: Thu, 20 Apr 2023 15:54:21 -0700 Subject: [PATCH 29/36] [rush] Fix rush version `workspace:*` perf --- ...-version-workspace-perf_2023-04-20-22-52.json | 10 ++++++++++ libraries/rush-lib/src/logic/PublishUtilities.ts | 16 +++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) create mode 100644 common/changes/@microsoft/rush/rush-version-workspace-perf_2023-04-20-22-52.json diff --git a/common/changes/@microsoft/rush/rush-version-workspace-perf_2023-04-20-22-52.json b/common/changes/@microsoft/rush/rush-version-workspace-perf_2023-04-20-22-52.json new file mode 100644 index 00000000000..03f7218f366 --- /dev/null +++ b/common/changes/@microsoft/rush/rush-version-workspace-perf_2023-04-20-22-52.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Fix a performance bug in `rush version` when using `workspace:` protocol.", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file diff --git a/libraries/rush-lib/src/logic/PublishUtilities.ts b/libraries/rush-lib/src/logic/PublishUtilities.ts index 356a5d27647..a6fa6dffd20 100644 --- a/libraries/rush-lib/src/logic/PublishUtilities.ts +++ b/libraries/rush-lib/src/logic/PublishUtilities.ts @@ -779,14 +779,16 @@ export class PublishUtilities { const isWorkspaceWildcardVersion: boolean = requiredVersion.specifierType === DependencySpecifierType.Workspace && requiredVersion.versionSpecifier === '*'; - const alwaysUpdate: boolean = - (!!prereleaseToken && - prereleaseToken.hasValue && - !allChanges.packageChanges.has(parentPackageName)) || - isWorkspaceWildcardVersion; + + const isPrerelease: boolean = + !!prereleaseToken && prereleaseToken.hasValue && !allChanges.packageChanges.has(parentPackageName); // If the version range exists and has not yet been updated to this version, update it. - if (requiredVersion.versionSpecifier !== change.newRangeDependency || alwaysUpdate) { + if ( + isPrerelease || + isWorkspaceWildcardVersion || + requiredVersion.versionSpecifier !== change.newRangeDependency + ) { let changeType: ChangeType | undefined; // Propagate hotfix changes to dependencies if (change.changeType === ChangeType.hotfix) { @@ -815,7 +817,7 @@ export class PublishUtilities { projectsToExclude }); - if (hasChanges || alwaysUpdate) { + if (hasChanges || isPrerelease) { // Only re-evaluate downstream dependencies if updating the parent package's dependency // caused a version bump. hasChanges = From 4e6e01cd6ac8a822daf1b5b32fc102931e5498ea Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Sat, 22 Apr 2023 11:52:43 -0700 Subject: [PATCH 30/36] Fix incorrect version policy for Rush plugins # Conflicts: # rush.json --- rush.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rush.json b/rush.json index 40f16d732d1..2ef4d6857aa 100644 --- a/rush.json +++ b/rush.json @@ -1036,7 +1036,7 @@ "packageName": "@rushstack/rush-serve-plugin", "projectFolder": "rush-plugins/rush-serve-plugin", "reviewCategory": "libraries", - "shouldPublish": true + "versionPolicyName": "rush" }, // "webpack" folder (alphabetical order) From 631208579fd8e91ef4093cef1432623da081d9bb Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Sat, 22 Apr 2023 12:29:07 -0700 Subject: [PATCH 31/36] repo-toolbox readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index debe4d8e017..796cedc0741 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ These GitHub repositories provide supplementary resources for Rush Stack: | [/rush-plugins/rush-amazon-s3-build-cache-plugin](./rush-plugins/rush-amazon-s3-build-cache-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-amazon-s3-build-cache-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-amazon-s3-build-cache-plugin) | | [@rushstack/rush-amazon-s3-build-cache-plugin](https://www.npmjs.com/package/@rushstack/rush-amazon-s3-build-cache-plugin) | | [/rush-plugins/rush-azure-storage-build-cache-plugin](./rush-plugins/rush-azure-storage-build-cache-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-azure-storage-build-cache-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-azure-storage-build-cache-plugin) | | [@rushstack/rush-azure-storage-build-cache-plugin](https://www.npmjs.com/package/@rushstack/rush-azure-storage-build-cache-plugin) | | [/rush-plugins/rush-http-build-cache-plugin](./rush-plugins/rush-http-build-cache-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-http-build-cache-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-http-build-cache-plugin) | | [@rushstack/rush-http-build-cache-plugin](https://www.npmjs.com/package/@rushstack/rush-http-build-cache-plugin) | -| [/rush-plugins/rush-serve-plugin](./rush-plugins/rush-serve-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-serve-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-serve-plugin) | [changelog](./rush-plugins/rush-serve-plugin/CHANGELOG.md) | [@rushstack/rush-serve-plugin](https://www.npmjs.com/package/@rushstack/rush-serve-plugin) | +| [/rush-plugins/rush-serve-plugin](./rush-plugins/rush-serve-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Frush-serve-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Frush-serve-plugin) | | [@rushstack/rush-serve-plugin](https://www.npmjs.com/package/@rushstack/rush-serve-plugin) | | [/webpack/hashed-folder-copy-plugin](./webpack/hashed-folder-copy-plugin/) | [![npm version](https://badge.fury.io/js/%40rushstack%2Fhashed-folder-copy-plugin.svg)](https://badge.fury.io/js/%40rushstack%2Fhashed-folder-copy-plugin) | [changelog](./webpack/hashed-folder-copy-plugin/CHANGELOG.md) | [@rushstack/hashed-folder-copy-plugin](https://www.npmjs.com/package/@rushstack/hashed-folder-copy-plugin) | | [/webpack/loader-load-themed-styles](./webpack/loader-load-themed-styles/) | [![npm version](https://badge.fury.io/js/%40microsoft%2Floader-load-themed-styles.svg)](https://badge.fury.io/js/%40microsoft%2Floader-load-themed-styles) | [changelog](./webpack/loader-load-themed-styles/CHANGELOG.md) | [@microsoft/loader-load-themed-styles](https://www.npmjs.com/package/@microsoft/loader-load-themed-styles) | | [/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) | From 32c248109f18eb4555da185b222c72897f3055ca Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Sat, 22 Apr 2023 12:30:54 -0700 Subject: [PATCH 32/36] Remove CHANGELOG.md for packages that are tracked by Rush's CHANGELOG.md --- .../CHANGELOG.json | 11 - .../CHANGELOG.md | 9 - .../CHANGELOG.json | 11 - .../CHANGELOG.md | 9 - rush-plugins/rush-serve-plugin/CHANGELOG.json | 1618 ----------------- rush-plugins/rush-serve-plugin/CHANGELOG.md | 417 ----- 6 files changed, 2075 deletions(-) delete mode 100644 rush-plugins/rush-amazon-s3-build-cache-plugin/CHANGELOG.json delete mode 100644 rush-plugins/rush-amazon-s3-build-cache-plugin/CHANGELOG.md delete mode 100644 rush-plugins/rush-azure-storage-build-cache-plugin/CHANGELOG.json delete mode 100644 rush-plugins/rush-azure-storage-build-cache-plugin/CHANGELOG.md delete mode 100644 rush-plugins/rush-serve-plugin/CHANGELOG.json delete mode 100644 rush-plugins/rush-serve-plugin/CHANGELOG.md diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/CHANGELOG.json b/rush-plugins/rush-amazon-s3-build-cache-plugin/CHANGELOG.json deleted file mode 100644 index 4114f8a8d9c..00000000000 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/CHANGELOG.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "@rushstack/rush-amazon-s3-build-cache-plugin", - "entries": [ - { - "version": "0.0.1", - "tag": "@rushstack/rush-amazon-s3-build-cache-plugin_v0.0.1", - "date": "Thu, 11 Nov 2021 16:07:47 GMT", - "comments": {} - } - ] -} diff --git a/rush-plugins/rush-amazon-s3-build-cache-plugin/CHANGELOG.md b/rush-plugins/rush-amazon-s3-build-cache-plugin/CHANGELOG.md deleted file mode 100644 index a542de08d8b..00000000000 --- a/rush-plugins/rush-amazon-s3-build-cache-plugin/CHANGELOG.md +++ /dev/null @@ -1,9 +0,0 @@ -# Change Log - @rushstack/rush-amazon-s3-build-cache-plugin - -This log was last generated on Thu, 11 Nov 2021 16:07:47 GMT and should not be manually modified. - -## 0.0.1 -Thu, 11 Nov 2021 16:07:47 GMT - -_Initial release_ - diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/CHANGELOG.json b/rush-plugins/rush-azure-storage-build-cache-plugin/CHANGELOG.json deleted file mode 100644 index e345a918444..00000000000 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/CHANGELOG.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "@rushstack/rush-azure-storage-build-cache-plugin", - "entries": [ - { - "version": "0.0.1", - "tag": "@rushstack/rush-azure-storage-build-cache-plugin_v0.0.1", - "date": "Thu, 11 Nov 2021 16:07:47 GMT", - "comments": {} - } - ] -} diff --git a/rush-plugins/rush-azure-storage-build-cache-plugin/CHANGELOG.md b/rush-plugins/rush-azure-storage-build-cache-plugin/CHANGELOG.md deleted file mode 100644 index 4aff8f7e33c..00000000000 --- a/rush-plugins/rush-azure-storage-build-cache-plugin/CHANGELOG.md +++ /dev/null @@ -1,9 +0,0 @@ -# Change Log - @rushstack/rush-azure-storage-build-cache-plugin - -This log was last generated on Thu, 11 Nov 2021 16:07:47 GMT and should not be manually modified. - -## 0.0.1 -Thu, 11 Nov 2021 16:07:47 GMT - -_Initial release_ - diff --git a/rush-plugins/rush-serve-plugin/CHANGELOG.json b/rush-plugins/rush-serve-plugin/CHANGELOG.json deleted file mode 100644 index 66aa5c7d746..00000000000 --- a/rush-plugins/rush-serve-plugin/CHANGELOG.json +++ /dev/null @@ -1,1618 +0,0 @@ -{ - "name": "@rushstack/rush-serve-plugin", - "entries": [ - { - "version": "0.4.7", - "tag": "@rushstack/rush-serve-plugin_v0.4.7", - "date": "Mon, 17 Apr 2023 15:21:31 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.21`" - } - ] - } - }, - { - "version": "0.4.6", - "tag": "@rushstack/rush-serve-plugin_v0.4.6", - "date": "Tue, 04 Apr 2023 22:36:28 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.20`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.12.6`" - } - ] - } - }, - { - "version": "0.4.5", - "tag": "@rushstack/rush-serve-plugin_v0.4.5", - "date": "Mon, 20 Mar 2023 20:14:20 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.19`" - } - ] - } - }, - { - "version": "0.4.4", - "tag": "@rushstack/rush-serve-plugin_v0.4.4", - "date": "Sat, 18 Mar 2023 00:20:56 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.18`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.50.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.12.5`" - } - ] - } - }, - { - "version": "0.4.3", - "tag": "@rushstack/rush-serve-plugin_v0.4.3", - "date": "Fri, 03 Mar 2023 04:11:20 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.17`" - } - ] - } - }, - { - "version": "0.4.2", - "tag": "@rushstack/rush-serve-plugin_v0.4.2", - "date": "Fri, 10 Feb 2023 01:18:50 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.16`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.11.9`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.55.2`" - }, - { - "comment": "Updating dependency \"@rushstack/rig-package\" to `0.3.18`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.13.2`" - }, - { - "comment": "Updating dependency \"@rushstack/eslint-config\" to `3.2.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.49.7`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.12.4`" - } - ] - } - }, - { - "version": "0.4.1", - "tag": "@rushstack/rush-serve-plugin_v0.4.1", - "date": "Sun, 05 Feb 2023 03:02:02 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.15`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.11.8`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.55.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.49.6`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.12.3`" - } - ] - } - }, - { - "version": "0.4.0", - "tag": "@rushstack/rush-serve-plugin_v0.4.0", - "date": "Sat, 04 Feb 2023 01:22:24 GMT", - "comments": { - "minor": [ - { - "comment": "Support workspace-level routing rules in the plugin config, to serve files that are not associated with any specific project." - } - ] - } - }, - { - "version": "0.3.14", - "tag": "@rushstack/rush-serve-plugin_v0.3.14", - "date": "Wed, 01 Feb 2023 02:16:34 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.14`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.11.7`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.55.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.49.5`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.12.2`" - } - ] - } - }, - { - "version": "0.3.13", - "tag": "@rushstack/rush-serve-plugin_v0.3.13", - "date": "Mon, 30 Jan 2023 16:22:31 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.13`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.11.6`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.54.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.49.4`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.12.1`" - } - ] - } - }, - { - "version": "0.3.12", - "tag": "@rushstack/rush-serve-plugin_v0.3.12", - "date": "Mon, 30 Jan 2023 00:55:44 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.12`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.12.0`" - } - ] - } - }, - { - "version": "0.3.11", - "tag": "@rushstack/rush-serve-plugin_v0.3.11", - "date": "Thu, 26 Jan 2023 02:55:10 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.11`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.11.5`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.49.3`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.14`" - } - ] - } - }, - { - "version": "0.3.10", - "tag": "@rushstack/rush-serve-plugin_v0.3.10", - "date": "Wed, 25 Jan 2023 07:26:55 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.10`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.49.2`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.13`" - } - ] - } - }, - { - "version": "0.3.9", - "tag": "@rushstack/rush-serve-plugin_v0.3.9", - "date": "Wed, 18 Jan 2023 22:44:12 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.9`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.49.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.12`" - } - ] - } - }, - { - "version": "0.3.8", - "tag": "@rushstack/rush-serve-plugin_v0.3.8", - "date": "Tue, 20 Dec 2022 01:18:22 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.8`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.49.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.11`" - } - ] - } - }, - { - "version": "0.3.7", - "tag": "@rushstack/rush-serve-plugin_v0.3.7", - "date": "Fri, 09 Dec 2022 16:18:28 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.7`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.11.4`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.53.3`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.48.9`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.10`" - } - ] - } - }, - { - "version": "0.3.6", - "tag": "@rushstack/rush-serve-plugin_v0.3.6", - "date": "Tue, 29 Nov 2022 01:16:49 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.6`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.9`" - } - ] - } - }, - { - "version": "0.3.5", - "tag": "@rushstack/rush-serve-plugin_v0.3.5", - "date": "Fri, 18 Nov 2022 00:55:17 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.5`" - } - ] - } - }, - { - "version": "0.3.4", - "tag": "@rushstack/rush-serve-plugin_v0.3.4", - "date": "Sat, 12 Nov 2022 00:16:31 GMT", - "comments": { - "patch": [ - { - "comment": "Serve the CA certificate alongside the TLS certificate." - } - ], - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.4`" - } - ] - } - }, - { - "version": "0.3.3", - "tag": "@rushstack/rush-serve-plugin_v0.3.3", - "date": "Tue, 08 Nov 2022 01:20:56 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.3`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.13.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.48.8`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.8`" - } - ] - } - }, - { - "version": "0.3.2", - "tag": "@rushstack/rush-serve-plugin_v0.3.2", - "date": "Fri, 04 Nov 2022 00:15:59 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.2`" - } - ] - } - }, - { - "version": "0.3.1", - "tag": "@rushstack/rush-serve-plugin_v0.3.1", - "date": "Wed, 26 Oct 2022 00:16:16 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.48.7`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.7`" - } - ] - } - }, - { - "version": "0.3.0", - "tag": "@rushstack/rush-serve-plugin_v0.3.0", - "date": "Tue, 25 Oct 2022 00:20:44 GMT", - "comments": { - "minor": [ - { - "comment": "Extract host name from active TLS certificate." - } - ], - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.2.0`" - } - ] - } - }, - { - "version": "0.2.7", - "tag": "@rushstack/rush-serve-plugin_v0.2.7", - "date": "Wed, 19 Oct 2022 23:43:41 GMT", - "comments": { - "patch": [ - { - "comment": "Add web bundle specific headers to @rushstack/rush-serve-plugin." - } - ] - } - }, - { - "version": "0.2.6", - "tag": "@rushstack/rush-serve-plugin_v0.2.6", - "date": "Mon, 17 Oct 2022 22:14:21 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.84`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.13.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.48.6`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.6`" - } - ] - } - }, - { - "version": "0.2.5", - "tag": "@rushstack/rush-serve-plugin_v0.2.5", - "date": "Mon, 17 Oct 2022 15:16:00 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.83`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.48.5`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.5`" - } - ] - } - }, - { - "version": "0.2.4", - "tag": "@rushstack/rush-serve-plugin_v0.2.4", - "date": "Fri, 14 Oct 2022 15:26:32 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.82`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.48.4`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.4`" - } - ] - } - }, - { - "version": "0.2.3", - "tag": "@rushstack/rush-serve-plugin_v0.2.3", - "date": "Thu, 13 Oct 2022 00:20:15 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.81`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.11.3`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.53.2`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.48.3`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.3`" - } - ] - } - }, - { - "version": "0.2.2", - "tag": "@rushstack/rush-serve-plugin_v0.2.2", - "date": "Tue, 11 Oct 2022 23:49:12 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.80`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.48.2`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.2`" - } - ] - } - }, - { - "version": "0.2.1", - "tag": "@rushstack/rush-serve-plugin_v0.2.1", - "date": "Mon, 10 Oct 2022 15:23:44 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.79`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.11.2`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.53.1`" - }, - { - "comment": "Updating dependency \"@rushstack/rig-package\" to `0.3.17`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.12.5`" - }, - { - "comment": "Updating dependency \"@rushstack/eslint-config\" to `3.1.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.48.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.1`" - } - ] - } - }, - { - "version": "0.2.0", - "tag": "@rushstack/rush-serve-plugin_v0.2.0", - "date": "Sat, 08 Oct 2022 02:30:08 GMT", - "comments": { - "minor": [ - { - "comment": "Allow serving of single files, e.g. to serve a specific file at \"/\" (the root)." - } - ] - } - }, - { - "version": "0.1.47", - "tag": "@rushstack/rush-serve-plugin_v0.1.47", - "date": "Thu, 29 Sep 2022 07:13:06 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.78`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.11.1`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.53.0`" - }, - { - "comment": "Updating dependency \"@rushstack/rig-package\" to `0.3.16`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.12.4`" - }, - { - "comment": "Updating dependency \"@rushstack/eslint-config\" to `3.1.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.48.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.11.0`" - } - ] - } - }, - { - "version": "0.1.46", - "tag": "@rushstack/rush-serve-plugin_v0.1.46", - "date": "Tue, 27 Sep 2022 22:17:20 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.77`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.11.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.11`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.13`" - } - ] - } - }, - { - "version": "0.1.45", - "tag": "@rushstack/rush-serve-plugin_v0.1.45", - "date": "Wed, 21 Sep 2022 20:21:10 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.76`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.10.0`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.52.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.10`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.12`" - } - ] - } - }, - { - "version": "0.1.44", - "tag": "@rushstack/rush-serve-plugin_v0.1.44", - "date": "Thu, 15 Sep 2022 00:18:51 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.75`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.9.6`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.51.2`" - }, - { - "comment": "Updating dependency \"@rushstack/rig-package\" to `0.3.15`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.12.3`" - }, - { - "comment": "Updating dependency \"@rushstack/eslint-config\" to `3.0.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.9`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.11`" - } - ] - } - }, - { - "version": "0.1.43", - "tag": "@rushstack/rush-serve-plugin_v0.1.43", - "date": "Tue, 13 Sep 2022 00:16:55 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.74`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.8`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.10`" - } - ] - } - }, - { - "version": "0.1.42", - "tag": "@rushstack/rush-serve-plugin_v0.1.42", - "date": "Mon, 12 Sep 2022 22:27:48 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.73`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.7`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.9`" - } - ] - } - }, - { - "version": "0.1.41", - "tag": "@rushstack/rush-serve-plugin_v0.1.41", - "date": "Fri, 02 Sep 2022 17:48:43 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.72`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.6`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.8`" - } - ] - } - }, - { - "version": "0.1.40", - "tag": "@rushstack/rush-serve-plugin_v0.1.40", - "date": "Wed, 31 Aug 2022 01:45:06 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.71`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.7`" - } - ] - } - }, - { - "version": "0.1.39", - "tag": "@rushstack/rush-serve-plugin_v0.1.39", - "date": "Wed, 31 Aug 2022 00:42:46 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.70`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.6`" - } - ] - } - }, - { - "version": "0.1.38", - "tag": "@rushstack/rush-serve-plugin_v0.1.38", - "date": "Wed, 24 Aug 2022 03:01:22 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.69`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.9.5`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.51.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.5`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.5`" - } - ] - } - }, - { - "version": "0.1.37", - "tag": "@rushstack/rush-serve-plugin_v0.1.37", - "date": "Wed, 24 Aug 2022 00:14:38 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.68`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.9.4`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.51.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.4`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.4`" - } - ] - } - }, - { - "version": "0.1.36", - "tag": "@rushstack/rush-serve-plugin_v0.1.36", - "date": "Fri, 19 Aug 2022 00:17:19 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.67`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.9.3`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.50.2`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.3`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.3`" - } - ] - } - }, - { - "version": "0.1.35", - "tag": "@rushstack/rush-serve-plugin_v0.1.35", - "date": "Wed, 10 Aug 2022 09:52:12 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.66`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.2`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.2`" - } - ] - } - }, - { - "version": "0.1.34", - "tag": "@rushstack/rush-serve-plugin_v0.1.34", - "date": "Wed, 10 Aug 2022 08:12:16 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.65`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.1`" - } - ] - } - }, - { - "version": "0.1.33", - "tag": "@rushstack/rush-serve-plugin_v0.1.33", - "date": "Wed, 03 Aug 2022 18:40:35 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.64`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.9.2`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.50.1`" - }, - { - "comment": "Updating dependency \"@rushstack/rig-package\" to `0.3.14`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.12.2`" - }, - { - "comment": "Updating dependency \"@rushstack/eslint-config\" to `3.0.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.47.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.10.0`" - } - ] - } - }, - { - "version": "0.1.32", - "tag": "@rushstack/rush-serve-plugin_v0.1.32", - "date": "Mon, 01 Aug 2022 02:45:32 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.63`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.9.1`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.50.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.46.7`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.23`" - } - ] - } - }, - { - "version": "0.1.31", - "tag": "@rushstack/rush-serve-plugin_v0.1.31", - "date": "Thu, 21 Jul 2022 23:30:27 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.62`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.46.6`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.22`" - } - ] - } - }, - { - "version": "0.1.30", - "tag": "@rushstack/rush-serve-plugin_v0.1.30", - "date": "Thu, 21 Jul 2022 00:16:14 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.61`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.46.5`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.21`" - } - ] - } - }, - { - "version": "0.1.29", - "tag": "@rushstack/rush-serve-plugin_v0.1.29", - "date": "Wed, 13 Jul 2022 21:31:13 GMT", - "comments": { - "patch": [ - { - "comment": "Upgrade express" - } - ], - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.60`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.9.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.46.4`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.20`" - } - ] - } - }, - { - "version": "0.1.28", - "tag": "@rushstack/rush-serve-plugin_v0.1.28", - "date": "Fri, 08 Jul 2022 15:17:46 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.59`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.46.3`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.19`" - } - ] - } - }, - { - "version": "0.1.27", - "tag": "@rushstack/rush-serve-plugin_v0.1.27", - "date": "Mon, 04 Jul 2022 15:15:13 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.58`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.46.2`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.18`" - } - ] - } - }, - { - "version": "0.1.26", - "tag": "@rushstack/rush-serve-plugin_v0.1.26", - "date": "Thu, 30 Jun 2022 04:48:54 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.57`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.46.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.17`" - } - ] - } - }, - { - "version": "0.1.25", - "tag": "@rushstack/rush-serve-plugin_v0.1.25", - "date": "Tue, 28 Jun 2022 22:47:13 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.56`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.8.10`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.49.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.46.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.16`" - } - ] - } - }, - { - "version": "0.1.24", - "tag": "@rushstack/rush-serve-plugin_v0.1.24", - "date": "Tue, 28 Jun 2022 00:23:32 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.55`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.8.9`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.48.0`" - }, - { - "comment": "Updating dependency \"@rushstack/rig-package\" to `0.3.13`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.12.1`" - }, - { - "comment": "Updating dependency \"@rushstack/eslint-config\" to `2.6.2`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.14`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.15`" - } - ] - } - }, - { - "version": "0.1.23", - "tag": "@rushstack/rush-serve-plugin_v0.1.23", - "date": "Mon, 27 Jun 2022 18:43:09 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.54`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.8.8`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.47.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.13`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.14`" - } - ] - } - }, - { - "version": "0.1.22", - "tag": "@rushstack/rush-serve-plugin_v0.1.22", - "date": "Sat, 25 Jun 2022 21:00:40 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.53`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.12`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.13`" - } - ] - } - }, - { - "version": "0.1.21", - "tag": "@rushstack/rush-serve-plugin_v0.1.21", - "date": "Sat, 25 Jun 2022 01:54:29 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.52`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.8.7`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.46.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.11`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.12`" - } - ] - } - }, - { - "version": "0.1.20", - "tag": "@rushstack/rush-serve-plugin_v0.1.20", - "date": "Fri, 24 Jun 2022 07:16:47 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.51`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.10`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.11`" - } - ] - } - }, - { - "version": "0.1.19", - "tag": "@rushstack/rush-serve-plugin_v0.1.19", - "date": "Thu, 23 Jun 2022 22:14:24 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.50`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.12.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.9`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.10`" - } - ] - } - }, - { - "version": "0.1.18", - "tag": "@rushstack/rush-serve-plugin_v0.1.18", - "date": "Fri, 17 Jun 2022 09:17:54 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.49`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.8.6`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.45.7`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.8`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.9`" - } - ] - } - }, - { - "version": "0.1.17", - "tag": "@rushstack/rush-serve-plugin_v0.1.17", - "date": "Fri, 17 Jun 2022 00:16:18 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.48`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.8.5`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.45.6`" - }, - { - "comment": "Updating dependency \"@rushstack/rig-package\" to `0.3.12`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.11.1`" - }, - { - "comment": "Updating dependency \"@rushstack/eslint-config\" to `2.6.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.7`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.8`" - } - ] - } - }, - { - "version": "0.1.16", - "tag": "@rushstack/rush-serve-plugin_v0.1.16", - "date": "Tue, 07 Jun 2022 09:37:05 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.47`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.6`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.7`" - } - ] - } - }, - { - "version": "0.1.15", - "tag": "@rushstack/rush-serve-plugin_v0.1.15", - "date": "Wed, 25 May 2022 22:25:07 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.46`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.5`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.6`" - } - ] - } - }, - { - "version": "0.1.14", - "tag": "@rushstack/rush-serve-plugin_v0.1.14", - "date": "Thu, 19 May 2022 15:13:20 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.45`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.4`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.5`" - } - ] - } - }, - { - "version": "0.1.13", - "tag": "@rushstack/rush-serve-plugin_v0.1.13", - "date": "Sat, 14 May 2022 03:01:27 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.44`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.3`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.4`" - } - ] - } - }, - { - "version": "0.1.12", - "tag": "@rushstack/rush-serve-plugin_v0.1.12", - "date": "Tue, 10 May 2022 01:20:43 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.43`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.8.4`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.45.5`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.11.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.2`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.3`" - } - ] - } - }, - { - "version": "0.1.11", - "tag": "@rushstack/rush-serve-plugin_v0.1.11", - "date": "Wed, 04 May 2022 23:29:13 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.42`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.2`" - } - ] - } - }, - { - "version": "0.1.10", - "tag": "@rushstack/rush-serve-plugin_v0.1.10", - "date": "Tue, 26 Apr 2022 15:12:54 GMT", - "comments": { - "patch": [ - { - "comment": "Fix missing runtime dependency on @rushstack/heft-config-file." - } - ] - } - }, - { - "version": "0.1.9", - "tag": "@rushstack/rush-serve-plugin_v0.1.9", - "date": "Tue, 26 Apr 2022 00:10:15 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.41`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.1`" - } - ] - } - }, - { - "version": "0.1.8", - "tag": "@rushstack/rush-serve-plugin_v0.1.8", - "date": "Sat, 23 Apr 2022 02:13:06 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.40`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.45.4`" - }, - { - "comment": "Updating dependency \"@rushstack/rig-package\" to `0.3.11`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.10.10`" - }, - { - "comment": "Updating dependency \"@rushstack/eslint-config\" to `2.6.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.45.0`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.8.3`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.9.0`" - } - ] - } - }, - { - "version": "0.1.7", - "tag": "@rushstack/rush-serve-plugin_v0.1.7", - "date": "Fri, 15 Apr 2022 00:12:36 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.39`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.45.3`" - }, - { - "comment": "Updating dependency \"@rushstack/rig-package\" to `0.3.10`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.10.9`" - }, - { - "comment": "Updating dependency \"@rushstack/eslint-config\" to `2.5.4`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.44.13`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.8.2`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.8.11`" - } - ] - } - }, - { - "version": "0.1.6", - "tag": "@rushstack/rush-serve-plugin_v0.1.6", - "date": "Wed, 13 Apr 2022 15:12:41 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.38`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.44.12`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.8.10`" - } - ] - } - }, - { - "version": "0.1.5", - "tag": "@rushstack/rush-serve-plugin_v0.1.5", - "date": "Tue, 12 Apr 2022 23:29:34 GMT", - "comments": { - "patch": [ - { - "comment": "Include rush-plugin-manifest.json in published files." - } - ], - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.37`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.44.11`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.8.9`" - } - ] - } - }, - { - "version": "0.1.4", - "tag": "@rushstack/rush-serve-plugin_v0.1.4", - "date": "Tue, 12 Apr 2022 02:58:32 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.36`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.44.10`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.8.8`" - } - ] - } - }, - { - "version": "0.1.3", - "tag": "@rushstack/rush-serve-plugin_v0.1.3", - "date": "Sat, 09 Apr 2022 19:07:48 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.35`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.44.9`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.8.7`" - } - ] - } - }, - { - "version": "0.1.2", - "tag": "@rushstack/rush-serve-plugin_v0.1.2", - "date": "Sat, 09 Apr 2022 02:24:27 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.34`" - }, - { - "comment": "Updating dependency \"@rushstack/node-core-library\" to `3.45.2`" - }, - { - "comment": "Updating dependency \"@rushstack/rig-package\" to `0.3.9`" - }, - { - "comment": "Updating dependency \"@rushstack/ts-command-line\" to `4.10.8`" - }, - { - "comment": "Updating dependency \"@rushstack/eslint-config\" to `2.5.3`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.44.8`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-config-file\" to `0.8.1`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.8.6`" - } - ] - } - }, - { - "version": "0.1.1", - "tag": "@rushstack/rush-serve-plugin_v0.1.1", - "date": "Fri, 08 Apr 2022 20:05:59 GMT", - "comments": { - "dependency": [ - { - "comment": "Updating dependency \"@rushstack/debug-certificate-manager\" to `1.1.33`" - }, - { - "comment": "Updating dependency \"@rushstack/heft\" to `0.44.7`" - }, - { - "comment": "Updating dependency \"@rushstack/heft-node-rig\" to `1.8.5`" - } - ] - } - }, - { - "version": "0.1.0", - "tag": "@rushstack/rush-serve-plugin_v0.1.0", - "date": "Fri, 08 Apr 2022 02:24:20 GMT", - "comments": { - "minor": [ - { - "comment": "Runs a local `express` server that serves the output of selected projects when running a configured command in watch mode. Port selection is either dynamic or manually specifiable via an argument in command-line.json" - } - ] - } - } - ] -} diff --git a/rush-plugins/rush-serve-plugin/CHANGELOG.md b/rush-plugins/rush-serve-plugin/CHANGELOG.md deleted file mode 100644 index 7857629b221..00000000000 --- a/rush-plugins/rush-serve-plugin/CHANGELOG.md +++ /dev/null @@ -1,417 +0,0 @@ -# Change Log - @rushstack/rush-serve-plugin - -This log was last generated on Mon, 17 Apr 2023 15:21:31 GMT and should not be manually modified. - -## 0.4.7 -Mon, 17 Apr 2023 15:21:31 GMT - -_Version update only_ - -## 0.4.6 -Tue, 04 Apr 2023 22:36:28 GMT - -_Version update only_ - -## 0.4.5 -Mon, 20 Mar 2023 20:14:20 GMT - -_Version update only_ - -## 0.4.4 -Sat, 18 Mar 2023 00:20:56 GMT - -_Version update only_ - -## 0.4.3 -Fri, 03 Mar 2023 04:11:20 GMT - -_Version update only_ - -## 0.4.2 -Fri, 10 Feb 2023 01:18:50 GMT - -_Version update only_ - -## 0.4.1 -Sun, 05 Feb 2023 03:02:02 GMT - -_Version update only_ - -## 0.4.0 -Sat, 04 Feb 2023 01:22:24 GMT - -### Minor changes - -- Support workspace-level routing rules in the plugin config, to serve files that are not associated with any specific project. - -## 0.3.14 -Wed, 01 Feb 2023 02:16:34 GMT - -_Version update only_ - -## 0.3.13 -Mon, 30 Jan 2023 16:22:31 GMT - -_Version update only_ - -## 0.3.12 -Mon, 30 Jan 2023 00:55:44 GMT - -_Version update only_ - -## 0.3.11 -Thu, 26 Jan 2023 02:55:10 GMT - -_Version update only_ - -## 0.3.10 -Wed, 25 Jan 2023 07:26:55 GMT - -_Version update only_ - -## 0.3.9 -Wed, 18 Jan 2023 22:44:12 GMT - -_Version update only_ - -## 0.3.8 -Tue, 20 Dec 2022 01:18:22 GMT - -_Version update only_ - -## 0.3.7 -Fri, 09 Dec 2022 16:18:28 GMT - -_Version update only_ - -## 0.3.6 -Tue, 29 Nov 2022 01:16:49 GMT - -_Version update only_ - -## 0.3.5 -Fri, 18 Nov 2022 00:55:17 GMT - -_Version update only_ - -## 0.3.4 -Sat, 12 Nov 2022 00:16:31 GMT - -### Patches - -- Serve the CA certificate alongside the TLS certificate. - -## 0.3.3 -Tue, 08 Nov 2022 01:20:56 GMT - -_Version update only_ - -## 0.3.2 -Fri, 04 Nov 2022 00:15:59 GMT - -_Version update only_ - -## 0.3.1 -Wed, 26 Oct 2022 00:16:16 GMT - -_Version update only_ - -## 0.3.0 -Tue, 25 Oct 2022 00:20:44 GMT - -### Minor changes - -- Extract host name from active TLS certificate. - -## 0.2.7 -Wed, 19 Oct 2022 23:43:41 GMT - -### Patches - -- Add web bundle specific headers to @rushstack/rush-serve-plugin. - -## 0.2.6 -Mon, 17 Oct 2022 22:14:21 GMT - -_Version update only_ - -## 0.2.5 -Mon, 17 Oct 2022 15:16:00 GMT - -_Version update only_ - -## 0.2.4 -Fri, 14 Oct 2022 15:26:32 GMT - -_Version update only_ - -## 0.2.3 -Thu, 13 Oct 2022 00:20:15 GMT - -_Version update only_ - -## 0.2.2 -Tue, 11 Oct 2022 23:49:12 GMT - -_Version update only_ - -## 0.2.1 -Mon, 10 Oct 2022 15:23:44 GMT - -_Version update only_ - -## 0.2.0 -Sat, 08 Oct 2022 02:30:08 GMT - -### Minor changes - -- Allow serving of single files, e.g. to serve a specific file at "/" (the root). - -## 0.1.47 -Thu, 29 Sep 2022 07:13:06 GMT - -_Version update only_ - -## 0.1.46 -Tue, 27 Sep 2022 22:17:20 GMT - -_Version update only_ - -## 0.1.45 -Wed, 21 Sep 2022 20:21:10 GMT - -_Version update only_ - -## 0.1.44 -Thu, 15 Sep 2022 00:18:51 GMT - -_Version update only_ - -## 0.1.43 -Tue, 13 Sep 2022 00:16:55 GMT - -_Version update only_ - -## 0.1.42 -Mon, 12 Sep 2022 22:27:48 GMT - -_Version update only_ - -## 0.1.41 -Fri, 02 Sep 2022 17:48:43 GMT - -_Version update only_ - -## 0.1.40 -Wed, 31 Aug 2022 01:45:06 GMT - -_Version update only_ - -## 0.1.39 -Wed, 31 Aug 2022 00:42:46 GMT - -_Version update only_ - -## 0.1.38 -Wed, 24 Aug 2022 03:01:22 GMT - -_Version update only_ - -## 0.1.37 -Wed, 24 Aug 2022 00:14:38 GMT - -_Version update only_ - -## 0.1.36 -Fri, 19 Aug 2022 00:17:19 GMT - -_Version update only_ - -## 0.1.35 -Wed, 10 Aug 2022 09:52:12 GMT - -_Version update only_ - -## 0.1.34 -Wed, 10 Aug 2022 08:12:16 GMT - -_Version update only_ - -## 0.1.33 -Wed, 03 Aug 2022 18:40:35 GMT - -_Version update only_ - -## 0.1.32 -Mon, 01 Aug 2022 02:45:32 GMT - -_Version update only_ - -## 0.1.31 -Thu, 21 Jul 2022 23:30:27 GMT - -_Version update only_ - -## 0.1.30 -Thu, 21 Jul 2022 00:16:14 GMT - -_Version update only_ - -## 0.1.29 -Wed, 13 Jul 2022 21:31:13 GMT - -### Patches - -- Upgrade express - -## 0.1.28 -Fri, 08 Jul 2022 15:17:46 GMT - -_Version update only_ - -## 0.1.27 -Mon, 04 Jul 2022 15:15:13 GMT - -_Version update only_ - -## 0.1.26 -Thu, 30 Jun 2022 04:48:54 GMT - -_Version update only_ - -## 0.1.25 -Tue, 28 Jun 2022 22:47:13 GMT - -_Version update only_ - -## 0.1.24 -Tue, 28 Jun 2022 00:23:32 GMT - -_Version update only_ - -## 0.1.23 -Mon, 27 Jun 2022 18:43:09 GMT - -_Version update only_ - -## 0.1.22 -Sat, 25 Jun 2022 21:00:40 GMT - -_Version update only_ - -## 0.1.21 -Sat, 25 Jun 2022 01:54:29 GMT - -_Version update only_ - -## 0.1.20 -Fri, 24 Jun 2022 07:16:47 GMT - -_Version update only_ - -## 0.1.19 -Thu, 23 Jun 2022 22:14:24 GMT - -_Version update only_ - -## 0.1.18 -Fri, 17 Jun 2022 09:17:54 GMT - -_Version update only_ - -## 0.1.17 -Fri, 17 Jun 2022 00:16:18 GMT - -_Version update only_ - -## 0.1.16 -Tue, 07 Jun 2022 09:37:05 GMT - -_Version update only_ - -## 0.1.15 -Wed, 25 May 2022 22:25:07 GMT - -_Version update only_ - -## 0.1.14 -Thu, 19 May 2022 15:13:20 GMT - -_Version update only_ - -## 0.1.13 -Sat, 14 May 2022 03:01:27 GMT - -_Version update only_ - -## 0.1.12 -Tue, 10 May 2022 01:20:43 GMT - -_Version update only_ - -## 0.1.11 -Wed, 04 May 2022 23:29:13 GMT - -_Version update only_ - -## 0.1.10 -Tue, 26 Apr 2022 15:12:54 GMT - -### Patches - -- Fix missing runtime dependency on @rushstack/heft-config-file. - -## 0.1.9 -Tue, 26 Apr 2022 00:10:15 GMT - -_Version update only_ - -## 0.1.8 -Sat, 23 Apr 2022 02:13:06 GMT - -_Version update only_ - -## 0.1.7 -Fri, 15 Apr 2022 00:12:36 GMT - -_Version update only_ - -## 0.1.6 -Wed, 13 Apr 2022 15:12:41 GMT - -_Version update only_ - -## 0.1.5 -Tue, 12 Apr 2022 23:29:34 GMT - -### Patches - -- Include rush-plugin-manifest.json in published files. - -## 0.1.4 -Tue, 12 Apr 2022 02:58:32 GMT - -_Version update only_ - -## 0.1.3 -Sat, 09 Apr 2022 19:07:48 GMT - -_Version update only_ - -## 0.1.2 -Sat, 09 Apr 2022 02:24:27 GMT - -_Version update only_ - -## 0.1.1 -Fri, 08 Apr 2022 20:05:59 GMT - -_Version update only_ - -## 0.1.0 -Fri, 08 Apr 2022 02:24:20 GMT - -### Minor changes - -- Runs a local `express` server that serves the output of selected projects when running a configured command in watch mode. Port selection is either dynamic or manually specifiable via an argument in command-line.json - From 8a3035fb24d4d5b1a4e9f94b4b62222a3dd892e2 Mon Sep 17 00:00:00 2001 From: Pete Gonzalez <4673363+octogonz@users.noreply.github.com> Date: Sat, 22 Apr 2023 12:38:43 -0700 Subject: [PATCH 33/36] rush change --- .../octogonz-fix-version-policy_2023-04-22-19-38.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@microsoft/rush/octogonz-fix-version-policy_2023-04-22-19-38.json diff --git a/common/changes/@microsoft/rush/octogonz-fix-version-policy_2023-04-22-19-38.json b/common/changes/@microsoft/rush/octogonz-fix-version-policy_2023-04-22-19-38.json new file mode 100644 index 00000000000..bd7ff97cb34 --- /dev/null +++ b/common/changes/@microsoft/rush/octogonz-fix-version-policy_2023-04-22-19-38.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file From 4d8a9e9625b5f9cbf5a388682c0dc1193075b39f Mon Sep 17 00:00:00 2001 From: Cheng Date: Tue, 25 Apr 2023 17:34:03 +0800 Subject: [PATCH 34/36] fix(lookupByPath): prefixMatch handles last single char segment --- libraries/rush-lib/src/logic/LookupByPath.ts | 2 +- libraries/rush-lib/src/logic/test/LookupByPath.test.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/rush-lib/src/logic/LookupByPath.ts b/libraries/rush-lib/src/logic/LookupByPath.ts index a848949f216..ce209f909e4 100644 --- a/libraries/rush-lib/src/logic/LookupByPath.ts +++ b/libraries/rush-lib/src/logic/LookupByPath.ts @@ -111,7 +111,7 @@ export class LookupByPath { } // Last segment - if (previousIndex + 1 < input.length) { + if (previousIndex < input.length) { yield { prefix: input.slice(previousIndex, input.length), index: input.length diff --git a/libraries/rush-lib/src/logic/test/LookupByPath.test.ts b/libraries/rush-lib/src/logic/test/LookupByPath.test.ts index 5b4cbeed881..2d56d082d58 100644 --- a/libraries/rush-lib/src/logic/test/LookupByPath.test.ts +++ b/libraries/rush-lib/src/logic/test/LookupByPath.test.ts @@ -20,6 +20,10 @@ describe(LookupByPath.iteratePathSegments.name, () => { const result = [...LookupByPath.iteratePathSegments('foo/bar/baz')]; expect(result).toEqual(['foo', 'bar', 'baz']); }); + it('returns correct last single character segment', () => { + const result = [...LookupByPath.iteratePathSegments('foo/a')]; + expect(result).toEqual(['foo', 'a']); + }); }); describe(LookupByPath.prototype.findChildPath.name, () => { From 20a52764ee4a126e346301fc7e1b6b7d37fbb396 Mon Sep 17 00:00:00 2001 From: Cheng Date: Tue, 25 Apr 2023 17:41:49 +0800 Subject: [PATCH 35/36] chore: rush change --- .../rush/fix-look-by-path_2023-04-25-09-41.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@microsoft/rush/fix-look-by-path_2023-04-25-09-41.json diff --git a/common/changes/@microsoft/rush/fix-look-by-path_2023-04-25-09-41.json b/common/changes/@microsoft/rush/fix-look-by-path_2023-04-25-09-41.json new file mode 100644 index 00000000000..2d42df6e826 --- /dev/null +++ b/common/changes/@microsoft/rush/fix-look-by-path_2023-04-25-09-41.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@microsoft/rush", + "comment": "Correctly match the prefix with the last single character segment", + "type": "none" + } + ], + "packageName": "@microsoft/rush" +} \ No newline at end of file From bd90f83eef83a6bd3c0e90389ffe3ce2da2eea2a Mon Sep 17 00:00:00 2001 From: Cheng Date: Tue, 25 Apr 2023 19:50:01 +0800 Subject: [PATCH 36/36] Update common/changes/@microsoft/rush/fix-look-by-path_2023-04-25-09-41.json Co-authored-by: Ian Clanton-Thuon --- .../@microsoft/rush/fix-look-by-path_2023-04-25-09-41.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/changes/@microsoft/rush/fix-look-by-path_2023-04-25-09-41.json b/common/changes/@microsoft/rush/fix-look-by-path_2023-04-25-09-41.json index 2d42df6e826..d5b4c94712a 100644 --- a/common/changes/@microsoft/rush/fix-look-by-path_2023-04-25-09-41.json +++ b/common/changes/@microsoft/rush/fix-look-by-path_2023-04-25-09-41.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@microsoft/rush", - "comment": "Correctly match the prefix with the last single character segment", + "comment": "Fix an issue where the last character in a project's path is ignored when determining which files contribute to the project's cache ID.", "type": "none" } ],