2019-01-05 00:29:37 +03:00
|
|
|
{
|
2019-01-24 03:44:12 +03:00
|
|
|
"name": "accessibility-insights-web",
|
test(combined-report-ui): establish monorepo setup with new empty report-e2e-tests package (#3494)
#### Description of changes
This PR adds a new packages at `/packages/report-e2e-tests`. We'll be using this as part of the combined-report-ui feature to test report generation as it would work in real usage (ie, across package boundaries and with proper style embedding), but this also has the secondary benefit of setting up a lot of the infrastructure we'll be using for migrating the rest of the repo to the lerna/yarn workspaces monorepo format. Specifically, for generalized changes, it:
* Adds a new devDependency on lerna
* Establishes a `lerna.json` and a root level package.json `workspaces` property to establish the root of the repo as a yarn worktree/lerna monorepo (similar to the setup that service uses)
* Updates a variety of ignore/lint tool rules to ignore build output directories in subdirectories, not just the root
* Splits out the parts of `tsconfig.json` that will be shared among packages into `tsconfig.base.json` (the same layout that service uses)
Specific to the new `report-e2e-tests` package (empty with a placeholder test for now), it also:
* Creates the empty package, set up with typescript/jest/etc and a placeholder test
* Adds a root-level `yarn test:report:e2e` that runs the tests
* Adds a step to run the tests in CI/PR builds
Using yarn workspaces means that `yarn install` from the root like usual will cover all the requirements for installing the new package's dependencies. I used `lerna` to implement `yarn test:report:e2e` mostly as a POC (you could technically invoke `jest --projects packages/report-e2e-tests` and it would work equally well)
This PR **does not migrate /src to /packages/web/src** - instead, it leaves package.json to act as *both* the worktree root (the aggregator of workspaces) and *also* an individual workspace root representing web/unified/etc. This is supported by yarn, but not what we want to use long-term, since it's a bit confusing; this is an incremental step on the way towards using a layout closer to what service uses.
Out of scope for this PR:
* Migrating existing web code to `/packages/web`
* Migrating existing report package code to `/packages/report`
* Migrating the existing report integration tests to `/packages/report-e2e-tests`
* Extracting common Jest configuration to a `jest.config.base.js` like service does (this required a lot of changes, so I left it for a separate PR)
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox -->
- [x] Addresses an existing issue: 1783601
- [x] Ran `yarn fastpass`
- [x] Added/updated relevant unit test(s) (and ran `yarn test`)
- [x] Verified code coverage for the changes made. Check coverage report at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). See `CONTRIBUTING.md`.
- [n/a] (UI changes only) Added screenshots/GIFs to description above
- [n/a] (UI changes only) Verified usability with NVDA/JAWS
2020-10-21 00:31:59 +03:00
|
|
|
"private": true,
|
2019-01-24 03:44:12 +03:00
|
|
|
"version": "1.0.0",
|
|
|
|
"description": "Accessibility Insights for Web",
|
|
|
|
"license": "MIT",
|
|
|
|
"repository": {
|
|
|
|
"type": "git",
|
|
|
|
"url": "https://github.com/Microsoft/accessibility-insights-web"
|
|
|
|
},
|
2019-04-12 23:06:31 +03:00
|
|
|
"engines": {
|
2023-03-23 00:19:17 +03:00
|
|
|
"node": ">=12.16.1"
|
2019-04-12 23:06:31 +03:00
|
|
|
},
|
2023-03-23 00:19:17 +03:00
|
|
|
"packageManager": "yarn@3.5.0",
|
test(combined-report-ui): establish monorepo setup with new empty report-e2e-tests package (#3494)
#### Description of changes
This PR adds a new packages at `/packages/report-e2e-tests`. We'll be using this as part of the combined-report-ui feature to test report generation as it would work in real usage (ie, across package boundaries and with proper style embedding), but this also has the secondary benefit of setting up a lot of the infrastructure we'll be using for migrating the rest of the repo to the lerna/yarn workspaces monorepo format. Specifically, for generalized changes, it:
* Adds a new devDependency on lerna
* Establishes a `lerna.json` and a root level package.json `workspaces` property to establish the root of the repo as a yarn worktree/lerna monorepo (similar to the setup that service uses)
* Updates a variety of ignore/lint tool rules to ignore build output directories in subdirectories, not just the root
* Splits out the parts of `tsconfig.json` that will be shared among packages into `tsconfig.base.json` (the same layout that service uses)
Specific to the new `report-e2e-tests` package (empty with a placeholder test for now), it also:
* Creates the empty package, set up with typescript/jest/etc and a placeholder test
* Adds a root-level `yarn test:report:e2e` that runs the tests
* Adds a step to run the tests in CI/PR builds
Using yarn workspaces means that `yarn install` from the root like usual will cover all the requirements for installing the new package's dependencies. I used `lerna` to implement `yarn test:report:e2e` mostly as a POC (you could technically invoke `jest --projects packages/report-e2e-tests` and it would work equally well)
This PR **does not migrate /src to /packages/web/src** - instead, it leaves package.json to act as *both* the worktree root (the aggregator of workspaces) and *also* an individual workspace root representing web/unified/etc. This is supported by yarn, but not what we want to use long-term, since it's a bit confusing; this is an incremental step on the way towards using a layout closer to what service uses.
Out of scope for this PR:
* Migrating existing web code to `/packages/web`
* Migrating existing report package code to `/packages/report`
* Migrating the existing report integration tests to `/packages/report-e2e-tests`
* Extracting common Jest configuration to a `jest.config.base.js` like service does (this required a lot of changes, so I left it for a separate PR)
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox -->
- [x] Addresses an existing issue: 1783601
- [x] Ran `yarn fastpass`
- [x] Added/updated relevant unit test(s) (and ran `yarn test`)
- [x] Verified code coverage for the changes made. Check coverage report at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). See `CONTRIBUTING.md`.
- [n/a] (UI changes only) Added screenshots/GIFs to description above
- [n/a] (UI changes only) Verified usability with NVDA/JAWS
2020-10-21 00:31:59 +03:00
|
|
|
"workspaces": [
|
|
|
|
"packages/*"
|
|
|
|
],
|
chore: improve test runtime by replacing ts-jest with swc (#4336)
#### Details
Profiling our unit tests showed that the overwhelming majority of time spent was in `ts-jest` parsing typescript files. This PR is an experiment in replacing `ts-jest` with an alternative typescript transpiler, `swc`, which is less mature but much faster.
##### Motivation
On my local machine (a Surface Laptop 3 running Windows 21H1 OS Build 19043.985), comparative timings are:
| scenario | `main` (ts-jest) | this PR (swc) |
| - | - | - |
| `yarn test -- -- --coverage=false -- footer-section.test.tsx` | 12s ±1s | 4.3s ±0.2s |
| `yarn test -- -- -- footer-section.test.tsx` | 45s ±3s | 6.2s ±0.0s |
| `yarn test` | 11m54s | 3m ±14s |
On our CI build agents:
| scenario | `main` (ts-jest) | this PR (swc) |
| - | - | - |
| unit tests | [15m1s](https://dev.azure.com/accessibility-insights/accessibility-insights-web/_build/results?buildId=21734&view=logs&j=3613c2bd-8b62-5a70-8491-3e8459586450&t=d1343856-9cd9-5649-cdc6-81bc16053e6f) | [5m9s](https://dev.azure.com/accessibility-insights/accessibility-insights-web/_build/results?buildId=21738&view=logs&j=3613c2bd-8b62-5a70-8491-3e8459586450&t=d1343856-9cd9-5649-cdc6-81bc16053e6f) |
| web-e2e tests | [10m10s](https://dev.azure.com/accessibility-insights/accessibility-insights-web/_build/results?buildId=21734&view=logs&j=952ed597-794a-5756-0328-a93bb2daa2a4&t=46864a42-71df-5c2d-c60f-5fec8d56499d) | [8m6s](https://dev.azure.com/accessibility-insights/accessibility-insights-web/_build/results?buildId=21738&view=logs&j=952ed597-794a-5756-0328-a93bb2daa2a4&t=46864a42-71df-5c2d-c60f-5fec8d56499d) |
| unified-e2e tests | [10m39s](https://dev.azure.com/accessibility-insights/accessibility-insights-web/_build/results?buildId=21734&view=logs&j=c5567cdb-c930-534d-6489-7c2dcf7ac8ee&t=fe6db478-348c-54d0-bafe-001288e28283) | [10m33s](https://dev.azure.com/accessibility-insights/accessibility-insights-web/_build/results?buildId=21738&view=logs&j=c5567cdb-c930-534d-6489-7c2dcf7ac8ee&t=fe6db478-348c-54d0-bafe-001288e28283) |
| total PR build time | [~22m](https://dev.azure.com/accessibility-insights/accessibility-insights-web/_build?definitionId=38&_a=summary) | [~14m](https://dev.azure.com/accessibility-insights/accessibility-insights-web/_build/results?buildId=21740&view=results) |
##### Context
This is not as clear cut a transition as the timings above suggest. `swc` is a relatively young project; it's not quite as firmly single-maintainer as `esbuild`, but it's still got a fairly concerning bus factor compared to `tsc` or `babel` (what `ts-jest` hands off to). Still, the timings speak for themselves and it's easy enough to transition back if that ever becomes necessary.
If this experiment goes well, we might consider a similar change to update our webpack config to use `swc-loader` instead of `ts-loader`.
One of the reasons `swc` is so much faster is that it does not perform type-checking. Right now we do type-checking as part of build, but if we were to switch webpack to use swc, we'd then need a separate build step for type-checking (comparable to the current `yarn null:check` step).
Implementation notes:
* There are a few subtly important things in the `.swcrc` file, which unfortunately doesn't support comments:
* The `noInterop: true` flag is the equivalent of TypeScript's default `esModuleInterop: false` behavior. It is necessary; we use several modules which cannot be used correctly with interop behavior in play. See https://github.com/swc-project/swc/issues/1778 for details.
* The empty `"env": {}` property is necessary to trigger `swc` to respect the `browserslist` entry in `package.json`
* Directing `swc` to target a reasonably recent set of browsers (via the new `browserslist` entry in `package.json`) is required; there are several tests with snapshots that change under default targeting, and there are a few components that break outright.
* `tsx: true` is required (it tells `swc` to enable support for `tsx` files; it doesn't prevent non-tsx files from parsing)
* For now, this is using a custom Jest transformer to call `@swc/core`. The swc project maintains a `@swc/jest` transformer, but https://github.com/swc-project/jest/issues/8 prevents it from being able to use the `noInterop: true` setting we require, and I can't submit a PR to patch the project until legal rubber stamps their CLA
* `collapsible-script-provider.tsx` required a hacky workaround for https://github.com/swc-project/swc/issues/1165
* even after applying the workaround, running jest with and without `--coverage=false` emitted javascript with different whitespace. `collapsible-script-provider.test.ts` needed to be updated to format the resulting js before snapshotting it.
* `src/scanner/processor.ts` used a mutable global in a module to enable its tests to inject test data. This confused swc; I replaced it with a more typical ctor injection pattern.
* `browser-adapter-factory.test.tsx` did a dance around an `import 'webextension-polyfill-ts';` statement to trick the module into thinking `window.chrome.runtime.id` is defined (it checks for this during import and refuses to load if it is not set). The dance we used is not compliant with how ES6 imports are defined to work (they are defined as hoisting import statements to the top of the file, ie, before we stub the window property). TypeScript has an outstanding PR/issue to stop supporting what we were previously doing (https://github.com/microsoft/TypeScript/pull/39764) and swc intentionally doesn't support it (https://github.com/swc-project/swc/issues/1686) (babel doesn't either), so I had to modify how our dance worked by moving it to a separate file and having it use a raw `require()` rather than an `import`.
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox -->
- [n/a] Addresses an existing issue: #0000
- [x] Ran `yarn fastpass`
- [x] Added/updated relevant unit test(s) (and ran `yarn test`)
- [x] Verified code coverage for the changes made. Check coverage report at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). See `CONTRIBUTING.md`.
- [n/a] (UI changes only) Added screenshots/GIFs to description above
- [n/a] (UI changes only) Verified usability with NVDA/JAWS
2021-06-04 23:34:18 +03:00
|
|
|
"browserslist": [
|
|
|
|
"chrome 88",
|
|
|
|
"edge 88",
|
|
|
|
"firefox 87"
|
|
|
|
],
|
2019-01-24 03:44:12 +03:00
|
|
|
"scripts": {
|
2023-03-23 00:19:17 +03:00
|
|
|
"packages": "yarn workspaces foreach --verbose",
|
2020-02-27 04:17:37 +03:00
|
|
|
"ada-cat": "grunt ada-cat",
|
2023-05-31 21:07:13 +03:00
|
|
|
"assessment": "npm-run-all --serial scss:clean fastpass build:all test test:e2e",
|
2019-01-24 03:44:12 +03:00
|
|
|
"build": "grunt",
|
2019-01-29 00:15:45 +03:00
|
|
|
"build:all": "grunt build-all",
|
|
|
|
"build:dev": "grunt build-dev",
|
2023-03-23 00:19:17 +03:00
|
|
|
"build:package:report": "yarn packages --include accessibility-insights-report run build",
|
|
|
|
"build:package:ui": "yarn packages --include accessibility-insights-ui run build",
|
2019-01-29 00:15:45 +03:00
|
|
|
"build:prod": "grunt build-prod",
|
2023-02-13 20:17:53 +03:00
|
|
|
"build:package:axe-config": "grunt generate-axe-config",
|
2020-03-17 21:52:22 +03:00
|
|
|
"change-log": "node ./tools/get-change-log-for-release.js",
|
2020-09-05 01:12:06 +03:00
|
|
|
"clean": "grunt clean:*",
|
2023-12-18 18:52:05 +03:00
|
|
|
"codeshift": "node ./tools/jscodeshift/codeshift.js",
|
chore: address feedback on yarn commands from 10/31 engineering discussion (#1593)
#### Description of changes
Addresses feedback from the team that came up during 10/31/19 engineering discussion, in particular:
* Makes `format:*`, `lint:*`, and `copyright:*` commands use consistent naming
* Corrects documentation about use of `yarn test -- -- <files>`
* Makes `yarn watch:test` watch unit tests only, not e2e tests
* Removes `yarn precheckin` in favor of separate `yarn fastpass` (runs lints/format checks only) and `yarn assessment` (works like old precheckin)
* Parallelizes `yarn fastpass` subtasks (on my machine at home, which is slower than my work machine, fastpass now takes about a minute; prettier is the long-pole)
* Updates build scripts/PR templates/documentation accordingly
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox -->
- [n/a] Addresses an existing issue: #0000
- [x] Ran `yarn fastpass`
- [n/a] Added/updated relevant unit test(s) (and ran `yarn test`)
- [n/a] Verified code coverage for the changes made. Check coverage report at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). Check workflow guide at: `<rootDir>/docs/workflow.md`
- [n/a] (UI changes only) Added screenshots/GIFs to description above
- [n/a] (UI changes only) Verified usability with NVDA/JAWS
2019-11-01 01:12:45 +03:00
|
|
|
"copyright:check": "license-check-and-add check -f copyright-header.config.json",
|
|
|
|
"copyright:fix": "license-check-and-add add -f copyright-header.config.json",
|
2022-06-02 22:09:43 +03:00
|
|
|
"fastpass": "npm-run-all --print-label scss:build --parallel type:check copyright:check lint:check lint:scss format:check null:check && grunt ada-cat",
|
2022-04-15 21:16:08 +03:00
|
|
|
"fastpass:fix": "npm-run-all --print-label --serial scss:clean copyright:fix lint:fix lint:scss:fix format:fix",
|
chore: address feedback on yarn commands from 10/31 engineering discussion (#1593)
#### Description of changes
Addresses feedback from the team that came up during 10/31/19 engineering discussion, in particular:
* Makes `format:*`, `lint:*`, and `copyright:*` commands use consistent naming
* Corrects documentation about use of `yarn test -- -- <files>`
* Makes `yarn watch:test` watch unit tests only, not e2e tests
* Removes `yarn precheckin` in favor of separate `yarn fastpass` (runs lints/format checks only) and `yarn assessment` (works like old precheckin)
* Parallelizes `yarn fastpass` subtasks (on my machine at home, which is slower than my work machine, fastpass now takes about a minute; prettier is the long-pole)
* Updates build scripts/PR templates/documentation accordingly
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox -->
- [n/a] Addresses an existing issue: #0000
- [x] Ran `yarn fastpass`
- [n/a] Added/updated relevant unit test(s) (and ran `yarn test`)
- [n/a] Verified code coverage for the changes made. Check coverage report at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). Check workflow guide at: `<rootDir>/docs/workflow.md`
- [n/a] (UI changes only) Added screenshots/GIFs to description above
- [n/a] (UI changes only) Verified usability with NVDA/JAWS
2019-11-01 01:12:45 +03:00
|
|
|
"format:check": "prettier --config prettier.config.js --check \"**/*\"",
|
|
|
|
"format:fix": "prettier --config prettier.config.js --write \"**/*\"",
|
2022-08-31 01:17:10 +03:00
|
|
|
"lint:check": "eslint \"**/*.{js,ts,tsx}\"",
|
2023-03-23 00:19:17 +03:00
|
|
|
"lint:check:all": "yarn lint:check && yarn lint:scss && yarn packages run lint:check",
|
2022-08-31 01:17:10 +03:00
|
|
|
"lint:fix": "eslint \"**/*.{js,ts,tsx}\" --quiet --fix",
|
|
|
|
"lint:scss": "stylelint \"**/*.scss\"",
|
|
|
|
"lint:scss:fix": "stylelint \"**/*.scss\" --fix",
|
2020-06-30 01:25:25 +03:00
|
|
|
"null:autoadd": "node ./tools/strict-null-checks/auto-add.js",
|
chore: start incremental migration to strictNullChecks (#2835)
#### Description of changes
This PR, plus the scripts in [dbjorge/aiweb-strict-null-check-migration-tools](https://github.com/dbjorge/aiweb-strict-null-check-migration-tools), creates the initial infrastructure for an incremental migration to `strictNullChecks: true`, following the [same strategy that VS Code used](https://code.visualstudio.com/blogs/2019/05/23/strict-null).
* Adds a secondary `tsconfig` file at `tsconfig.strictNullChecks.json` which is the same as our main/normal tsconfig file except that it enables `strictNullChecks` and only runs on the already-compliant parts of our code
* Populates the initial `files` and `includes` of the `strictNullChecks` config with the subset of `/src/` that is already compliant (by using `autoAdd` from [aiweb-strict-null-check-migration-tools](https://github.com/dbjorge/aiweb-strict-null-check-migration-tools)
* Adds a new `yarn null:check` command to compile against the new strictNullChecks config (note, an especially useful option during cleanup work is `yarn null:check --watch`)
* Adds `yarn null:check` into `yarn fastpass`
* Adds `yarn null:check` into PR/CI build
The ongoing effort to incrementally bring the codebase to null safety would amount to iteratively using [aiweb-strict-null-check-migration-tools](https://github.com/dbjorge/aiweb-strict-null-check-migration-tools) to find the next candidate files, fixing up null safety issues there, and using that repo's `autoAdd` tool to bring in any transitively-fixed cases.
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox -->
- [x] Addresses an existing issue: #2869
- [x] Ran `yarn fastpass`
- [n/a] Added/updated relevant unit test(s) (and ran `yarn test`)
- [n/a] Verified code coverage for the changes made. Check coverage report at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). See `CONTRIBUTING.md`.
- [n/a] (UI changes only) Added screenshots/GIFs to description above
- [n/a] (UI changes only) Verified usability with NVDA/JAWS
2020-06-17 02:42:00 +03:00
|
|
|
"null:check": "tsc -p ./tsconfig.strictNullChecks.json",
|
2020-06-30 01:25:25 +03:00
|
|
|
"null:find": "node ./tools/strict-null-checks/find.js",
|
2020-11-25 00:44:24 +03:00
|
|
|
"null:find-cycles": "node ./tools/strict-null-checks/find-cycles.js",
|
2020-07-07 03:40:43 +03:00
|
|
|
"null:progress": "node ./tools/strict-null-checks/progress.js",
|
2020-03-31 23:44:42 +03:00
|
|
|
"react-devtools": "react-devtools",
|
chore: install react-devtools on-demand instead of by-default (#4370)
#### Details
Per engineering discussion a few weeks ago, `react-devtools` is something that is used rarely, but not never, by team members. This PR updates our webpack and package.json rules so that we stop installing it in a default `yarn install`, but support a new `yarn react-devtools:setup` command which will install it on demand. Dev builds will include it (like they do today) if it is present, and omit it if the setup command hasn't been run.
##### Motivation
* Avoids `console.error` spam in F12 console about `WebSocket connection to 'ws://localhost:8097/' failed` for popup/details pages when *not* using react-devtools
* Decreases dev bundle size from 26.2MB to 24.8MB (slightly improves runtime performance)
* Ensures node_modules size won't increase by 200MB each time our direct and react-devtools electron dep versions are out of sync (eg, in the next electron update feature)
* Avoid confusion with electron CG entries (the licensing implications of the dev tool electron dep vs the runtime electron dep are very different)
##### Context
n/a
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox -->
- [n/a] Addresses an existing issue: #0000
- [x] Ran `yarn fastpass`
- [n/a] Added/updated relevant unit test(s) (and ran `yarn test`)
- [n/a] Verified code coverage for the changes made. Check coverage report at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). See `CONTRIBUTING.md`.
- [n/a] (UI changes only) Added screenshots/GIFs to description above
- [n/a] (UI changes only) Verified usability with NVDA/JAWS
2021-06-17 21:40:06 +03:00
|
|
|
"react-devtools:setup": "yarn add -W --dev react-devtools && echo \"react-devtools installed, rebuild required. Do not commit this package.json/yarn.lock change!\"",
|
2022-05-20 23:07:18 +03:00
|
|
|
"scss:build": "typed-scss-modules \"src/**/*.scss\" --exportType default",
|
chore: address feedback on yarn commands from 10/31 engineering discussion (#1593)
#### Description of changes
Addresses feedback from the team that came up during 10/31/19 engineering discussion, in particular:
* Makes `format:*`, `lint:*`, and `copyright:*` commands use consistent naming
* Corrects documentation about use of `yarn test -- -- <files>`
* Makes `yarn watch:test` watch unit tests only, not e2e tests
* Removes `yarn precheckin` in favor of separate `yarn fastpass` (runs lints/format checks only) and `yarn assessment` (works like old precheckin)
* Parallelizes `yarn fastpass` subtasks (on my machine at home, which is slower than my work machine, fastpass now takes about a minute; prettier is the long-pole)
* Updates build scripts/PR templates/documentation accordingly
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox -->
- [n/a] Addresses an existing issue: #0000
- [x] Ran `yarn fastpass`
- [n/a] Added/updated relevant unit test(s) (and ran `yarn test`)
- [n/a] Verified code coverage for the changes made. Check coverage report at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). Check workflow guide at: `<rootDir>/docs/workflow.md`
- [n/a] (UI changes only) Added screenshots/GIFs to description above
- [n/a] (UI changes only) Verified usability with NVDA/JAWS
2019-11-01 01:12:45 +03:00
|
|
|
"scss:clean": "grunt clean:scss",
|
2023-04-11 23:22:43 +03:00
|
|
|
"test": "jest --projects src/tests/unit",
|
2020-02-20 23:32:04 +03:00
|
|
|
"publish-code-coverage": "npx codecov",
|
2023-04-11 23:22:43 +03:00
|
|
|
"test:e2e": "jest --projects src/tests/end-to-end --runInBand --forceExit --detectOpenHandles",
|
2021-09-20 22:24:50 +03:00
|
|
|
"test:e2e:docker:build": "docker build -t accessibility-insights-e2e --target web .",
|
|
|
|
"test:e2e:docker:build:web": "docker build -t accessibility-insights-web-e2e --target web .",
|
|
|
|
"test:e2e:docker:run": "docker run -t accessibility-insights-e2e",
|
|
|
|
"test:e2e:docker:run:web": "docker run -t accessibility-insights-web-e2e",
|
2019-07-11 19:30:50 +03:00
|
|
|
"test:e2e:docker": "npm-run-all --serial test:e2e:docker:build \"test:e2e:docker:run {@}\" --",
|
2023-03-23 00:19:17 +03:00
|
|
|
"test:report:e2e": "yarn packages --include accessibility-insights-report-e2e-tests run test",
|
2022-06-02 22:09:43 +03:00
|
|
|
"tbuild": "yarn build && yarn type:check",
|
|
|
|
"tbuild:all": "yarn build:all && yarn type:check",
|
|
|
|
"type:check": "tsc -noEmit",
|
2023-05-31 21:07:13 +03:00
|
|
|
"watch": "npm-run-all --parallel --race --print-label watch:scss watch:grunt watch:test watch:esbuild",
|
|
|
|
"watch:build:all": "npm-run-all --parallel --race --print-label watch:scss watch:grunt watch:esbuild",
|
2022-06-02 22:09:43 +03:00
|
|
|
"watch:build:web": "npm-run-all --parallel --race --print-label watch:scss watch:grunt watch:esbuild",
|
2022-02-02 02:36:10 +03:00
|
|
|
"watch:scss": "typed-scss-modules \"src/**/*.scss\" --watch",
|
2019-01-29 00:15:45 +03:00
|
|
|
"watch:grunt": "grunt watch",
|
chore: address feedback on yarn commands from 10/31 engineering discussion (#1593)
#### Description of changes
Addresses feedback from the team that came up during 10/31/19 engineering discussion, in particular:
* Makes `format:*`, `lint:*`, and `copyright:*` commands use consistent naming
* Corrects documentation about use of `yarn test -- -- <files>`
* Makes `yarn watch:test` watch unit tests only, not e2e tests
* Removes `yarn precheckin` in favor of separate `yarn fastpass` (runs lints/format checks only) and `yarn assessment` (works like old precheckin)
* Parallelizes `yarn fastpass` subtasks (on my machine at home, which is slower than my work machine, fastpass now takes about a minute; prettier is the long-pole)
* Updates build scripts/PR templates/documentation accordingly
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox -->
- [n/a] Addresses an existing issue: #0000
- [x] Ran `yarn fastpass`
- [n/a] Added/updated relevant unit test(s) (and ran `yarn test`)
- [n/a] Verified code coverage for the changes made. Check coverage report at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). Check workflow guide at: `<rootDir>/docs/workflow.md`
- [n/a] (UI changes only) Added screenshots/GIFs to description above
- [n/a] (UI changes only) Verified usability with NVDA/JAWS
2019-11-01 01:12:45 +03:00
|
|
|
"watch:test": "jest --watch --projects src/tests/unit --coverage false --colors",
|
2023-05-31 21:07:13 +03:00
|
|
|
"watch:esbuild": "node esbuild.js --watch"
|
2019-01-24 03:44:12 +03:00
|
|
|
},
|
|
|
|
"devDependencies": {
|
2023-03-01 00:44:34 +03:00
|
|
|
"@esbuild-plugins/node-resolve": "^0.2.2",
|
2024-01-29 13:34:24 +03:00
|
|
|
"@swc/core": "^1.3.107",
|
2024-03-22 23:13:53 +03:00
|
|
|
"@swc/jest": "^0.2.36",
|
2024-07-10 22:16:35 +03:00
|
|
|
"@testing-library/dom": "^10.3.1",
|
2024-02-13 22:21:03 +03:00
|
|
|
"@testing-library/jest-dom": "^6.4.2",
|
2024-11-05 20:37:24 +03:00
|
|
|
"@testing-library/react": "^16.0.1",
|
2024-02-21 22:45:07 +03:00
|
|
|
"@types/chrome": "0.0.260",
|
2023-12-06 22:24:27 +03:00
|
|
|
"@types/jest": "^29.5.11",
|
2023-11-22 21:55:20 +03:00
|
|
|
"@types/jsdom": "^21.1.6",
|
2024-11-08 09:28:36 +03:00
|
|
|
"@types/lodash": "^4.17.12",
|
2024-03-18 19:25:25 +03:00
|
|
|
"@types/luxon": "^3.4.2",
|
chore(deps-dev): update to node 16 (#5343)
#### Details
This PR bumps our default/recommended build environment to Node 16.
There aren't any real breaking changes affecting us here, except that our unit tests appear to be much slower (timing out after 10m instead of taking 6-7m in Node 14). We could work around this by just sharding the unit tests like we do for e2e tests already, but it's not ideal; besides "still being slower for local development", it also breaks code coverage reporting (unless we add some new job to merge the results before publishing coverage).
The most relevant looking Jest/Node/V8 issues seem to be covered in the discussion of https://github.com/facebook/jest/issues/11956 - it would be good to experiment with some of the options on that thread to see if we can get the unit test time back down without needing to shard them. Some options to explore:
* Test Node 16.10.0 vs 16.11.0 (we wouldn't want to pin to 16.10.0, but it would be good to try it out to verify that the slowness really is caused by the V8 update in question on that issue)
* Try out the assorted node/v8 command line argument combinations suggested by that thread
Alternatively, we could explore more generic ways of making the tests faster; I think https://github.com/nicolo-ribaudo/jest-light-runner would be promising to look into.
##### Motivation
Keep dependencies up to date; 16 has been an LTS release for several months now.
Also, `accessibility-insights-service` updated to Node 16 yesterday, and we want to ensure that the packages we publish for it to consume are tested in the same environment.
##### Context
n/a
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox -->
- [n/a] Addresses an existing issue: #0000
- [x] Ran `yarn fastpass`
- [ ] Added/updated relevant unit test(s) (and ran `yarn test`)
- [n/a] Verified code coverage for the changes made. Check coverage report at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). See `CONTRIBUTING.md`.
- [n/a] (UI changes only) Added screenshots/GIFs to description above
- [n/a] (UI changes only) Verified usability with NVDA/JAWS
2022-04-30 00:57:41 +03:00
|
|
|
"@types/node": "^16.11.7",
|
feat(react 18): upgrade to react 18. (#7336)
#### Details
This feature updates below packages.
1. react from v16 to v18.
2. react-dom from v16 to v18.
3. @types-react from v16 to v18.
4. @types-react-dom from v16 to v18.
5. @testing-library/react from v12 to v15.
6. @fluentui/react from v8.x.x to v8.118.1.
7. Removed react-helmet and added react-helmet-async.
**1. Notable changes for react, react-dom:**
**Motivation:** React 18 introduces a new root API which provides better
ergonomics for managing roots. The new root API also enables the new
concurrent renderer, which allows you to opt-into concurrent features.
**In V16, we had below to render the component:**
import { render } from 'react-dom';
const container = document.getElementById('app');
render(<App tab="home" />, container);
- **In V18, we have below to render the component:**
import { createRoot } from 'react-dom/client';
const container = document.getElementById('app');
const root = createRoot(container); // createRoot(container!) if you use
TypeScript
root.render(<App tab="home" />);
**2. Notable changes for @types-react and @types-react-dom:**
**Motivation:** The new types are safer and catch issues that used to be
ignored by the type checker. The most notable change is that the
children prop now needs to be listed explicitly when defining props
- In old we have below
WrappedComponent: React.ComponentType<P>,
- In new we have below
WrappedComponent: React.ComponentType<**React.PropsWithChildren<P>**>,
**Approach for type changes:** So this Type changes are added using
automation script https://github.com/eps1lon/types-react-codemod. This
automation script is suggested in react18 migration document.
- Added new package types-react-codemod.
- After adding the package, executed yarn types-react-codemod preset-18
./src in root, and then selected all option from the list of options.
- This will transform all types of component type having child
components to <React.PropsWithChildren<P>>.
**3. Notable changes for @testing-library/react:**
- Current version of @testing-library/react does not support react18, so
from v13.x.x, react18 support is added. So updated to latest V15. For
reference -
https://github.com/testing-library/react-testing-library/releases/tag/v13.0.0
- Wrapped state updates/async operations under act.
- Updated test cases with createRoot for createRootMock instead of
render and renderMock.
-
**4. Notable changes for @fluentui/react from v8.x.x to v8.118.1**
- Existing fluent ui version does not support react18, test cases were
failing, hence after checking v8.118.1 documentation, it supports react
and react-dom v18. Hence upadated.
**5. Notable changes for react-helmet-async:**
- Current react-helmet package throws error 'objects cannot be child,
expected elements', for react18, Hence as alternative used
react-helmet-async. For reference
https://www.npmjs.com/package/react-helmet-async?activeTab=readme
because react-helmet-async uses react18 as dependency.
- Wrapped Helmet provider for root, as to pass context of
react-helmet-async.
- Created a variable to store data, and then this data was passed as
JSX, instead of passing the data as it is. Because it will throw
**"Objects cannot be used as react elements"**.
**For example:**
`export const GuidanceTitle =
NamedFC<GuidanceTitleProps>('GuidanceTitle', ({ name }) => {
const titleValue = `Guidance for ${name} - ${productName}`;
return (
<>
<Helmet>
<title>{titleValue}</title>
</Helmet>
<h1>{name}</h1>
</>
);
});`
**6. Along with above**
- Made changes to mock helpers, because after react18 changes, the JSON
structure of component was coming differently, so accordingly corrected
the helpers, to get proper component name for snapshots.
- Updated snapshots, because as we are using latest Fluent UI version,
new props are introduced which can be seen in snapshots.
- Refactored few test cases, which were wrong logically, like for
example:
using of mockReactComponents in global and inside test case using of
useOriginalComponents to get the props using
getMockComponentClassPropsForCall which was wrong logically is fixed to
use any one approach.
- Updated report package with react, react-dom v18 to keep in sync with
AI web.
##### Context
This PR includes all changes required for migration of AI web from
react16 to react18.
It includes test cases fixes.
It includes lint issues fixes.
<!-- Are there any parts that you've intentionally left out-of-scope for
a later PR to handle? -->
<!-- Were there any alternative approaches you considered? What
tradeoffs did you consider? -->
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a"
in the checkbox -->
- [ ] Addresses an existing issue: #0000
- [x] Ran `yarn fastpass`
- [x] Added/updated relevant unit test(s) (and ran `yarn test`)
- [x] Verified code coverage for the changes made. Check coverage report
at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic
tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). See
`CONTRIBUTING.md`.
- [ ] (UI changes only) Added screenshots/GIFs to description above
- [x] (UI changes only) Verified usability with NVDA/JAWS
---------
Co-authored-by: Jeevani Chinthala <v-jeevanic@microsoft.com>
Co-authored-by: JeevaniChinthala <148259226+JeevaniChinthala@users.noreply.github.com>
Co-authored-by: v-sharmachir <v-sharmachir@microsoft.com>
Co-authored-by: Chirag Sharma <150002431+v-sharmachir@users.noreply.github.com>
Co-authored-by: Saanica Ghate <148259220+SaanicaG@users.noreply.github.com>
Co-authored-by: Saanica Ghate <v-sghate@microsoft.com>
2024-06-14 22:58:19 +03:00
|
|
|
"@types/react": "^18.3.1",
|
|
|
|
"@types/react-dom": "^18.3.0",
|
2023-12-06 23:08:50 +03:00
|
|
|
"@types/react-helmet": "^6.1.11",
|
2022-01-19 22:17:00 +03:00
|
|
|
"@types/react-router-dom": "^5.3.3",
|
2023-11-09 02:11:02 +03:00
|
|
|
"@types/serve-static": "^1.15.5",
|
2023-11-09 01:55:26 +03:00
|
|
|
"@types/ua-parser-js": "^0.7.39",
|
2023-11-09 01:36:34 +03:00
|
|
|
"@types/uuid": "^9.0.7",
|
2023-11-22 22:03:25 +03:00
|
|
|
"@types/webextension-polyfill": "^0.10.7",
|
2023-07-03 22:04:25 +03:00
|
|
|
"@typescript-eslint/eslint-plugin": "^5.61.0",
|
2024-01-10 22:19:44 +03:00
|
|
|
"@typescript-eslint/parser": "^6.18.1",
|
2021-02-24 19:25:44 +03:00
|
|
|
"case-sensitive-paths-webpack-plugin": "^2.4.0",
|
2021-07-19 23:48:28 +03:00
|
|
|
"codecov": "^3.8.3",
|
chore(deps-dev): Bump commander from 11.0.0 to 11.1.0 (#7022)
Bumps [commander](https://github.com/tj/commander.js) from 11.0.0 to
11.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tj/commander.js/releases">commander's
releases</a>.</em></p>
<blockquote>
<h2>v11.1.0</h2>
<h3>Fixed</h3>
<ul>
<li>TypeScript: update <code>OptionValueSource</code> to allow any
string, to match supported use of custom sources (<a
href="https://redirect.github.com/tj/commander.js/issues/1983">#1983</a>)</li>
<li>TypeScript: add that <code>Command.version()</code> can also be used
as getter (<a
href="https://redirect.github.com/tj/commander.js/issues/1982">#1982</a>)</li>
<li>TypeScript: add null return type to
<code>Commands.executableDir()</code>, for when not configured (<a
href="https://redirect.github.com/tj/commander.js/issues/1965">#1965</a>)</li>
<li>subcommands with an executable handler and only a short help flag
are now handled correctly by the parent's help command (<a
href="https://redirect.github.com/tj/commander.js/issues/1930">#1930</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li><code>registeredArguments</code> property on <code>Command</code>
with the array of defined <code>Argument</code> (like
<code>Command.options</code> for <code>Option</code>) (<a
href="https://redirect.github.com/tj/commander.js/issues/2010">#2010</a>)</li>
<li>TypeScript declarations for Option properties: <code>envVar</code>,
<code>presetArg</code> (<a
href="https://redirect.github.com/tj/commander.js/issues/2019">#2019</a>)</li>
<li>TypeScript declarations for Argument properties:
<code>argChoices</code>, <code>defaultValue</code>,
<code>defaultValueDescription</code> (<a
href="https://redirect.github.com/tj/commander.js/issues/2019">#2019</a>)</li>
<li>example file which shows how to configure help to display any custom
usage in the list of subcommands (<a
href="https://redirect.github.com/tj/commander.js/issues/1896">#1896</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>(developer) refactor TypeScript configs for multiple use-cases, and
enable checks in JavaScript files in supporting editors (<a
href="https://redirect.github.com/tj/commander.js/issues/1969">#1969</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li><code>Command._args</code> was private anyway, but now available as
<code>registeredArguments</code> (<a
href="https://redirect.github.com/tj/commander.js/issues/2010">#2010</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tj/commander.js/blob/master/CHANGELOG.md">commander's
changelog</a>.</em></p>
<blockquote>
<h2>[11.1.0] (2023-10-13)</h2>
<h3>Fixed</h3>
<ul>
<li>TypeScript: update <code>OptionValueSource</code> to allow any
string, to match supported use of custom sources (<a
href="https://redirect.github.com/tj/commander.js/issues/1983">#1983</a>)</li>
<li>TypeScript: add that <code>Command.version()</code> can also be used
as getter (<a
href="https://redirect.github.com/tj/commander.js/issues/1982">#1982</a>)</li>
<li>TypeScript: add null return type to
<code>Commands.executableDir()</code>, for when not configured (<a
href="https://redirect.github.com/tj/commander.js/issues/1965">#1965</a>)</li>
<li>subcommands with an executable handler and only a short help flag
are now handled correctly by the parent's help command (<a
href="https://redirect.github.com/tj/commander.js/issues/1930">#1930</a>)</li>
</ul>
<h3>Added</h3>
<ul>
<li><code>registeredArguments</code> property on <code>Command</code>
with the array of defined <code>Argument</code> (like
<code>Command.options</code> for <code>Option</code>) (<a
href="https://redirect.github.com/tj/commander.js/issues/2010">#2010</a>)</li>
<li>TypeScript declarations for Option properties: <code>envVar</code>,
<code>presetArg</code> (<a
href="https://redirect.github.com/tj/commander.js/issues/2019">#2019</a>)</li>
<li>TypeScript declarations for Argument properties:
<code>argChoices</code>, <code>defaultValue</code>,
<code>defaultValueDescription</code> (<a
href="https://redirect.github.com/tj/commander.js/issues/2019">#2019</a>)</li>
<li>example file which shows how to configure help to display any custom
usage in the list of subcommands (<a
href="https://redirect.github.com/tj/commander.js/issues/1896">#1896</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>(developer) refactor TypeScript configs for multiple use-cases, and
enable checks in JavaScript files in supporting editors (<a
href="https://redirect.github.com/tj/commander.js/issues/1969">#1969</a>)</li>
</ul>
<h3>Deprecated</h3>
<ul>
<li><code>Command._args</code> was private anyway, but now available as
<code>registeredArguments</code> (<a
href="https://redirect.github.com/tj/commander.js/issues/2010">#2010</a>)</li>
</ul>
</blockquote>
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-16 11:42:52 +03:00
|
|
|
"commander": "^11.1.0",
|
2024-01-02 12:43:46 +03:00
|
|
|
"core-js-bundle": "^3.35.0",
|
2020-12-02 22:09:18 +03:00
|
|
|
"cross-env": "^7.0.3",
|
2024-03-14 20:05:09 +03:00
|
|
|
"css-loader": "^6.10.0",
|
chore(deps-dev): Bump esbuild from 0.19.11 to 0.20.2 (#7278)
Bumps [esbuild](https://github.com/evanw/esbuild) from 0.19.11 to
0.20.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/evanw/esbuild/releases">esbuild's
releases</a>.</em></p>
<blockquote>
<h2>v0.20.2</h2>
<ul>
<li>
<p>Support TypeScript experimental decorators on <code>abstract</code>
class fields (<a
href="https://redirect.github.com/evanw/esbuild/issues/3684">#3684</a>)</p>
<p>With this release, you can now use TypeScript experimental decorators
on <code>abstract</code> class fields. This was silently compiled
incorrectly in esbuild 0.19.7 and below, and was an error from esbuild
0.19.8 to esbuild 0.20.1. Code such as the following should now work
correctly:</p>
<pre lang="ts"><code>// Original code
const log = (x: any, y: string) => console.log(y)
abstract class Foo { @log abstract foo: string }
new class extends Foo { foo = '' }
<p>// Old output (with --loader=ts
--tsconfig-raw={&quot;compilerOptions&quot;:{&quot;experimentalDecorators&quot;:true}})
const log = (x, y) => console.log(y);
class Foo {
}
new class extends Foo {
foo = "";
}();</p>
<p>// New output (with --loader=ts
--tsconfig-raw={&quot;compilerOptions&quot;:{&quot;experimentalDecorators&quot;:true}})
const log = (x, y) => console.log(y);
class Foo {
}
__decorateClass([
log
], Foo.prototype, "foo", 2);
new class extends Foo {
foo = "";
}();
</code></pre></p>
</li>
<li>
<p>JSON loader now preserves <code>__proto__</code> properties (<a
href="https://redirect.github.com/evanw/esbuild/issues/3700">#3700</a>)</p>
<p>Copying JSON source code into a JavaScript file will change its
meaning if a JSON object contains the <code>__proto__</code> key. A
literal <code>__proto__</code> property in a JavaScript object literal
sets the prototype of the object instead of adding a property named
<code>__proto__</code>, while a literal <code>__proto__</code> property
in a JSON object literal just adds a property named
<code>__proto__</code>. With this release, esbuild will now work around
this problem by converting JSON to JavaScript with a computed property
key in this case:</p>
<pre lang="js"><code>// Original code
import data from
'data:application/json,{"__proto__":{"fail":true}}'
if (Object.getPrototypeOf(data)?.fail) throw 'fail'
<p>// Old output (with --bundle)
(() => {
//
<data:application/json,{"<strong>proto</strong>":{"fail":true}}>
var json_proto_fail_true_default = { <strong>proto</strong>: { fail:
true } };</p>
<p>// entry.js
if (Object.getPrototypeOf(json_proto_fail_true_default)?.fail)
throw "fail";
})();</p>
<p></code></pre></p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/evanw/esbuild/blob/main/CHANGELOG.md">esbuild's
changelog</a>.</em></p>
<blockquote>
<h2>0.20.2</h2>
<ul>
<li>
<p>Support TypeScript experimental decorators on <code>abstract</code>
class fields (<a
href="https://redirect.github.com/evanw/esbuild/issues/3684">#3684</a>)</p>
<p>With this release, you can now use TypeScript experimental decorators
on <code>abstract</code> class fields. This was silently compiled
incorrectly in esbuild 0.19.7 and below, and was an error from esbuild
0.19.8 to esbuild 0.20.1. Code such as the following should now work
correctly:</p>
<pre lang="ts"><code>// Original code
const log = (x: any, y: string) => console.log(y)
abstract class Foo { @log abstract foo: string }
new class extends Foo { foo = '' }
<p>// Old output (with --loader=ts
--tsconfig-raw={&quot;compilerOptions&quot;:{&quot;experimentalDecorators&quot;:true}})
const log = (x, y) => console.log(y);
class Foo {
}
new class extends Foo {
foo = "";
}();</p>
<p>// New output (with --loader=ts
--tsconfig-raw={&quot;compilerOptions&quot;:{&quot;experimentalDecorators&quot;:true}})
const log = (x, y) => console.log(y);
class Foo {
}
__decorateClass([
log
], Foo.prototype, "foo", 2);
new class extends Foo {
foo = "";
}();
</code></pre></p>
</li>
<li>
<p>JSON loader now preserves <code>__proto__</code> properties (<a
href="https://redirect.github.com/evanw/esbuild/issues/3700">#3700</a>)</p>
<p>Copying JSON source code into a JavaScript file will change its
meaning if a JSON object contains the <code>__proto__</code> key. A
literal <code>__proto__</code> property in a JavaScript object literal
sets the prototype of the object instead of adding a property named
<code>__proto__</code>, while a literal <code>__proto__</code> property
in a JSON object literal just adds a property named
<code>__proto__</code>. With this release, esbuild will now work around
this problem by converting JSON to JavaScript with a computed property
key in this case:</p>
<pre lang="js"><code>// Original code
import data from
'data:application/json,{"__proto__":{"fail":true}}'
if (Object.getPrototypeOf(data)?.fail) throw 'fail'
<p>// Old output (with --bundle)
(() => {
//
<data:application/json,{"<strong>proto</strong>":{"fail":true}}>
var json_proto_fail_true_default = { <strong>proto</strong>: { fail:
true } };</p>
<p>// entry.js
if (Object.getPrototypeOf(json_proto_fail_true_default)?.fail)
throw "fail";
})();
</code></pre></p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/evanw/esbuild/commit/617eddaa32b7649ad23ddd15257816df3f0f544c"><code>617edda</code></a>
publish 0.20.2 to npm</li>
<li><a
href="https://github.com/evanw/esbuild/commit/4780075ace9f5f59b61018326ec57da624a7d7a2"><code>4780075</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/3700">#3700</a>:
json loader preserves <code>__proto__</code> keys</li>
<li><a
href="https://github.com/evanw/esbuild/commit/30bed2d2d7572b58399a6c07643878f3377800fe"><code>30bed2d</code></a>
better errors for invalid js decorator syntax</li>
<li><a
href="https://github.com/evanw/esbuild/commit/300eeb711261144a70ab33221fe6a1313b309348"><code>300eeb7</code></a>
ts: allow non-null assertions in js decorators</li>
<li><a
href="https://github.com/evanw/esbuild/commit/4d997d948579b2e4e9bd3bf820a0108b58b3732b"><code>4d997d9</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/3698">#3698</a>:
yarn pnp edge case with <code>tsconfig.json</code></li>
<li><a
href="https://github.com/evanw/esbuild/commit/cf42954760e666c048a866589f43ef937f9ec1e6"><code>cf42954</code></a>
resolver: improve some debug logging</li>
<li><a
href="https://github.com/evanw/esbuild/commit/b0765ae1323363fd61727df54e9e57c2b81bdd4b"><code>b0765ae</code></a>
fix some lints</li>
<li><a
href="https://github.com/evanw/esbuild/commit/dfa62069192b1c49918b2dfe4b8c10278361ae34"><code>dfa6206</code></a>
fix some comments (closes <a
href="https://redirect.github.com/evanw/esbuild/issues/3683">#3683</a>)</li>
<li><a
href="https://github.com/evanw/esbuild/commit/ae5cc175165551016f8e19475c4ac9872e60f247"><code>ae5cc17</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/3684">#3684</a>:
<code>abstract</code> experimental decorators</li>
<li><a
href="https://github.com/evanw/esbuild/commit/c809af050a74f022d9cf61c66e13365434542420"><code>c809af0</code></a>
fix <a
href="https://redirect.github.com/evanw/esbuild/issues/2388">#2388</a>:
allow consuming types without dom types (<a
href="https://redirect.github.com/evanw/esbuild/issues/3679">#3679</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/evanw/esbuild/compare/v0.19.11...v0.20.2">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=esbuild&package-manager=npm_and_yarn&previous-version=0.19.11&new-version=0.20.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-11 21:14:30 +03:00
|
|
|
"esbuild": "^0.20.2",
|
2024-03-19 00:30:21 +03:00
|
|
|
"eslint": "^8.57.0",
|
2023-12-24 12:58:26 +03:00
|
|
|
"eslint-plugin-import": "^2.29.1",
|
2024-07-16 20:51:52 +03:00
|
|
|
"eslint-plugin-react": "^7.34.4",
|
chore(deps-dev): Bump eslint-plugin-security from 1.5.0 to 1.7.1 (#6414)
Bumps
[eslint-plugin-security](https://github.com/eslint-community/eslint-plugin-security)
from 1.5.0 to 1.7.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/eslint-community/eslint-plugin-security/releases">eslint-plugin-security's
releases</a>.</em></p>
<blockquote>
<h2>eslint-plugin-security v1.7.1</h2>
<h3>Bug Fixes</h3>
<ul>
<li>false positives for static expressions in
detect-non-literal-fs-filename, detect-child-process,
detect-non-literal-regexp, and detect-non-literal-require (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/109">#109</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/56102b50aed4bd632dd668770eb37de58788110b">56102b5</a>)</li>
</ul>
<h2>eslint-plugin-security v1.7.0</h2>
<h3>Features</h3>
<ul>
<li>improve detect-child-process rule (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/108">#108</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/64ae52944a86f9d9daee769acd63ebbdfc5b6631">64ae529</a>)</li>
</ul>
<h2>eslint-plugin-security v1.6.0</h2>
<h3>Features</h3>
<ul>
<li>Add meta object documentation for all rules (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/79">#79</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/fb1d9ef56e0cf2705b9e413b483261df394c45e1">fb1d9ef</a>)</li>
<li>detect-bidi-characters rule (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/95">#95</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/4294d29cca8af5c627de759919add6dd698644ba">4294d29</a>)</li>
<li><strong>detect-non-literal-fs-filename:</strong> change to track
non-top-level <code>require()</code> as well (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/105">#105</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/d3b15435b45b9ac2ee5f0d3249f590e32369d7d2">d3b1543</a>)</li>
<li>extend detect non literal fs filename (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/92">#92</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/08ba4764a83761f6f44cb28940923f1d25f88581">08ba476</a>)</li>
<li><strong>non-literal-require:</strong> support template literals (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/81">#81</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/208019bad4f70a142ab1f0ea7238c37cb70d1a5a">208019b</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Avoid crash when exec() is passed no arguments (<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/7f97815accf6bcd87de73c32a967946b1b3b0530">7f97815</a>),
closes <a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/82">#82</a>
<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/23">#23</a></li>
<li>Avoid TypeError when exec stub is used with no arguments (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/97">#97</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/9c18f16187719b58cc5dfde9860344bad823db28">9c18f16</a>)</li>
<li><strong>detect-child-process:</strong> false positive for
destructuring with <code>exec</code> (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/102">#102</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/657921a93f6f73c0de6113e497b22e7cf079f520">657921a</a>)</li>
<li><strong>detect-child-process:</strong> false positives for
destructuring <code>spawn</code> (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/103">#103</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/fdfe37d667367e5fd228c26573a1791c81a044d2">fdfe37d</a>)</li>
<li>Incorrect method name in detect-buffer-noassert. (<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/313c0c693f48aa85d0c9b65a46f6c620cd10f907">313c0c6</a>),
closes <a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/63">#63</a>
<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/80">#80</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/eslint-community/eslint-plugin-security/blob/main/CHANGELOG.md">eslint-plugin-security's
changelog</a>.</em></p>
<blockquote>
<h3><a
href="https://www.github.com/eslint-community/eslint-plugin-security/compare/v1.7.0...v1.7.1">1.7.1</a>
(2023-02-02)</h3>
<h3>Bug Fixes</h3>
<ul>
<li>false positives for static expressions in
detect-non-literal-fs-filename, detect-child-process,
detect-non-literal-regexp, and detect-non-literal-require (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/109">#109</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/56102b50aed4bd632dd668770eb37de58788110b">56102b5</a>)</li>
</ul>
<h2><a
href="https://www.github.com/eslint-community/eslint-plugin-security/compare/v1.6.0...v1.7.0">1.7.0</a>
(2023-01-26)</h2>
<h3>Features</h3>
<ul>
<li>improve detect-child-process rule (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/108">#108</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/64ae52944a86f9d9daee769acd63ebbdfc5b6631">64ae529</a>)</li>
</ul>
<h2><a
href="https://www.github.com/eslint-community/eslint-plugin-security/compare/v1.5.0...v1.6.0">1.6.0</a>
(2023-01-11)</h2>
<h3>Features</h3>
<ul>
<li>Add meta object documentation for all rules (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/79">#79</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/fb1d9ef56e0cf2705b9e413b483261df394c45e1">fb1d9ef</a>)</li>
<li>detect-bidi-characters rule (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/95">#95</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/4294d29cca8af5c627de759919add6dd698644ba">4294d29</a>)</li>
<li><strong>detect-non-literal-fs-filename:</strong> change to track
non-top-level <code>require()</code> as well (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/105">#105</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/d3b15435b45b9ac2ee5f0d3249f590e32369d7d2">d3b1543</a>)</li>
<li>extend detect non literal fs filename (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/92">#92</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/08ba4764a83761f6f44cb28940923f1d25f88581">08ba476</a>)</li>
<li><strong>non-literal-require:</strong> support template literals (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/81">#81</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/208019bad4f70a142ab1f0ea7238c37cb70d1a5a">208019b</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>Avoid crash when exec() is passed no arguments (<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/7f97815accf6bcd87de73c32a967946b1b3b0530">7f97815</a>),
closes <a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/82">#82</a>
<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/23">#23</a></li>
<li>Avoid TypeError when exec stub is used with no arguments (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/97">#97</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/9c18f16187719b58cc5dfde9860344bad823db28">9c18f16</a>)</li>
<li><strong>detect-child-process:</strong> false positive for
destructuring with <code>exec</code> (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/102">#102</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/657921a93f6f73c0de6113e497b22e7cf079f520">657921a</a>)</li>
<li><strong>detect-child-process:</strong> false positives for
destructuring <code>spawn</code> (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/103">#103</a>)
(<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/fdfe37d667367e5fd228c26573a1791c81a044d2">fdfe37d</a>)</li>
<li>Incorrect method name in detect-buffer-noassert. (<a
href="https://www.github.com/eslint-community/eslint-plugin-security/commit/313c0c693f48aa85d0c9b65a46f6c620cd10f907">313c0c6</a>),
closes <a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/63">#63</a>
<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/80">#80</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/eslint-community/eslint-plugin-security/commit/0c9c1defce36d4baa904012b80a57be4cebfd13b"><code>0c9c1de</code></a>
chore: release 1.7.1 (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/114">#114</a>)</li>
<li><a
href="https://github.com/eslint-community/eslint-plugin-security/commit/56102b50aed4bd632dd668770eb37de58788110b"><code>56102b5</code></a>
fix: false positives for static expressions in
detect-non-literal-fs-filename...</li>
<li><a
href="https://github.com/eslint-community/eslint-plugin-security/commit/75e1e9d1d56c0e3d21c82cee4c3eb4912199e9b3"><code>75e1e9d</code></a>
chore: release 1.7.0 (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/113">#113</a>)</li>
<li><a
href="https://github.com/eslint-community/eslint-plugin-security/commit/951fcc8e150b536d399433b6c2019cfe89ded97f"><code>951fcc8</code></a>
docs: Correct typos</li>
<li><a
href="https://github.com/eslint-community/eslint-plugin-security/commit/64ae52944a86f9d9daee769acd63ebbdfc5b6631"><code>64ae529</code></a>
feat: improve detect-child-process rule (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/108">#108</a>)</li>
<li><a
href="https://github.com/eslint-community/eslint-plugin-security/commit/d699c306ec40bfd0d73dd784d0257eb55967f2b3"><code>d699c30</code></a>
chore: fix repo url (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/111">#111</a>)</li>
<li><a
href="https://github.com/eslint-community/eslint-plugin-security/commit/c54e6183e4b245c3617d0c6ab9bc36428d746ebb"><code>c54e618</code></a>
chore: release 1.6.0 (<a
href="https://github-redirect.dependabot.com/eslint-community/eslint-plugin-security/issues/107">#107</a>)</li>
<li><a
href="https://github.com/eslint-community/eslint-plugin-security/commit/74e5203011e8b3121932474d4b431e6df0a2f85f"><code>74e5203</code></a>
chore: Clean up changelog</li>
<li><a
href="https://github.com/eslint-community/eslint-plugin-security/commit/d3b15435b45b9ac2ee5f0d3249f590e32369d7d2"><code>d3b1543</code></a>
feat(detect-non-literal-fs-filename): change to track non-top-level
`require(...</li>
<li><a
href="https://github.com/eslint-community/eslint-plugin-security/commit/7d482c59d3570d7e6d0037dd52a697a9ec220887"><code>7d482c5</code></a>
chore: Add release-please to automate releases</li>
<li>Additional commits viewable in <a
href="https://github.com/eslint-community/eslint-plugin-security/compare/v1.5.0...v1.7.1">compare
view</a></li>
</ul>
</details>
<details>
<summary>Maintainer changes</summary>
<p>This version was pushed to npm by <a
href="https://www.npmjs.com/~eslint-community-bot">eslint-community-bot</a>,
a new releaser for eslint-plugin-security since your current
version.</p>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-security&package-manager=npm_and_yarn&previous-version=1.5.0&new-version=1.7.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-09 17:47:18 +03:00
|
|
|
"eslint-plugin-security": "^1.7.1",
|
chore(deps-dev): Bump express from 4.19.2 to 4.20.0 (#7448)
Bumps [express](https://github.com/expressjs/express) from 4.19.2 to
4.20.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/express/releases">express's
releases</a>.</em></p>
<blockquote>
<h2>4.20.0</h2>
<h2>What's Changed</h2>
<h3>Important</h3>
<ul>
<li>IMPORTANT: The default <code>depth</code> level for parsing
URL-encoded data is now <code>32</code> (previously was
<code>Infinity</code>)</li>
<li>Remove link renderization in html while using
<code>res.redirect</code></li>
</ul>
<h3>Other Changes</h3>
<ul>
<li>4.19.2 Staging by <a
href="https://github.com/wesleytodd"><code>@wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5561">expressjs/express#5561</a></li>
<li>remove duplicate location test for data uri by <a
href="https://github.com/wesleytodd"><code>@wesleytodd</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5562">expressjs/express#5562</a></li>
<li>feat: document beta releases expectations by <a
href="https://github.com/marco-ippolito"><code>@marco-ippolito</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5565">expressjs/express#5565</a></li>
<li>Cut down on duplicated CI runs by <a
href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5564">expressjs/express#5564</a></li>
<li>Add a Threat Model by <a
href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5526">expressjs/express#5526</a></li>
<li>Assign captain of encodeurl by <a
href="https://github.com/blakeembrey"><code>@blakeembrey</code></a> in
<a
href="https://redirect.github.com/expressjs/express/pull/5579">expressjs/express#5579</a></li>
<li>Nominate jonchurch as repo captain for <code>http-errors</code>,
<code>expressjs.com</code>, <code>morgan</code>, <code>cors</code>,
<code>body-parser</code> by <a
href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5587">expressjs/express#5587</a></li>
<li>docs: update Security.md by <a
href="https://github.com/inigomarquinez"><code>@inigomarquinez</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5590">expressjs/express#5590</a></li>
<li>docs: update triage nomination policy by <a
href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5600">expressjs/express#5600</a></li>
<li>Add CodeQL (SAST) by <a
href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5433">expressjs/express#5433</a></li>
<li>docs: add UlisesGascon as triage initiative captain by <a
href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5605">expressjs/express#5605</a></li>
<li>deps: encodeurl@~2.0.0 by <a
href="https://github.com/blakeembrey"><code>@blakeembrey</code></a> in
<a
href="https://redirect.github.com/expressjs/express/pull/5569">expressjs/express#5569</a></li>
<li>skip QUERY method test by <a
href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5628">expressjs/express#5628</a></li>
<li>ignore ETAG query test on 21 and 22, reuse skip util by <a
href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5639">expressjs/express#5639</a></li>
<li>add support Node.js@22 in the CI by <a
href="https://github.com/mertcanaltin"><code>@mertcanaltin</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5627">expressjs/express#5627</a></li>
<li>doc: add table of contents, tc/triager lists to readme by <a
href="https://github.com/mertcanaltin"><code>@mertcanaltin</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5619">expressjs/express#5619</a></li>
<li>List and sort all projects, add captains by <a
href="https://github.com/blakeembrey"><code>@blakeembrey</code></a> in
<a
href="https://redirect.github.com/expressjs/express/pull/5653">expressjs/express#5653</a></li>
<li>docs: add <a
href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a>
as captain for cookie-parser by <a
href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5666">expressjs/express#5666</a></li>
<li>✨ bring back query tests for node 21 by <a
href="https://github.com/ctcpip"><code>@ctcpip</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5690">expressjs/express#5690</a></li>
<li>[v4] Deprecate <code>res.clearCookie</code> accepting
<code>options.maxAge</code> and <code>options.expires</code> by <a
href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5672">expressjs/express#5672</a></li>
<li>skip QUERY tests for Node 21 only, still not supported by <a
href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5695">expressjs/express#5695</a></li>
<li>📝 update people, add ctcpip to TC by <a
href="https://github.com/ctcpip"><code>@ctcpip</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5683">expressjs/express#5683</a></li>
<li>remove minor version pinning from ci by <a
href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5722">expressjs/express#5722</a></li>
<li>Fix link variable use in attribution section of CODE OF CONDUCT by
<a href="https://github.com/IamLizu"><code>@IamLizu</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5762">expressjs/express#5762</a></li>
<li>Replace Appveyor windows testing with GHA by <a
href="https://github.com/jonchurch"><code>@jonchurch</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5599">expressjs/express#5599</a></li>
<li>Add OSSF Scorecard badge by <a
href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5436">expressjs/express#5436</a></li>
<li>update scorecard link by <a
href="https://github.com/bjohansebas"><code>@bjohansebas</code></a> in
<a
href="https://redirect.github.com/expressjs/express/pull/5814">expressjs/express#5814</a></li>
<li>Nominate <a
href="https://github.com/IamLizu"><code>@IamLizu</code></a> to the
triage team by <a
href="https://github.com/UlisesGascon"><code>@UlisesGascon</code></a>
in <a
href="https://redirect.github.com/expressjs/express/pull/5836">expressjs/express#5836</a></li>
<li>deps: path-to-regexp@0.1.8 by <a
href="https://github.com/blakeembrey"><code>@blakeembrey</code></a> in
<a
href="https://redirect.github.com/expressjs/express/pull/5603">expressjs/express#5603</a></li>
<li>docs: specify new instructions for <code>question</code> and
<code>discuss</code> by <a
href="https://github.com/IamLizu"><code>@IamLizu</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5835">expressjs/express#5835</a></li>
<li>4.x: Upgrade <code>merge-descriptors</code> dependency by <a
href="https://github.com/RobinTail"><code>@RobinTail</code></a> in <a
href="https://redirect.github.com/expressjs/express/pull/5781">expressjs/express#5781</a></li>
<li>path-to-regexp@0.1.10 by <a
href="https://github.com/blakeembrey"><code>@blakeembrey</code></a> in
<a
href="https://redirect.github.com/expressjs/express/pull/5902">expressjs/express#5902</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/marco-ippolito"><code>@marco-ippolito</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5565">expressjs/express#5565</a></li>
<li><a
href="https://github.com/inigomarquinez"><code>@inigomarquinez</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5590">expressjs/express#5590</a></li>
<li><a
href="https://github.com/mertcanaltin"><code>@mertcanaltin</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5627">expressjs/express#5627</a></li>
<li><a href="https://github.com/ctcpip"><code>@ctcpip</code></a> made
their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5690">expressjs/express#5690</a></li>
<li><a
href="https://github.com/bjohansebas"><code>@bjohansebas</code></a>
made their first contribution in <a
href="https://redirect.github.com/expressjs/express/pull/5814">expressjs/express#5814</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/expressjs/express/compare/4.19.1...4.20.0">https://github.com/expressjs/express/compare/4.19.1...4.20.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/expressjs/express/blob/master/History.md">express's
changelog</a>.</em></p>
<blockquote>
<h1>4.20.0 / 2024-09-10</h1>
<ul>
<li>deps: serve-static@0.16.0
<ul>
<li>Remove link renderization in html while redirecting</li>
</ul>
</li>
<li>deps: send@0.19.0
<ul>
<li>Remove link renderization in html while redirecting</li>
</ul>
</li>
<li>deps: body-parser@0.6.0
<ul>
<li>add <code>depth</code> option to customize the depth level in the
parser</li>
<li>IMPORTANT: The default <code>depth</code> level for parsing
URL-encoded data is now <code>32</code> (previously was
<code>Infinity</code>)</li>
</ul>
</li>
<li>Remove link renderization in html while using
<code>res.redirect</code></li>
<li>deps: path-to-regexp@0.1.10
<ul>
<li>Adds support for named matching groups in the routes using a
regex</li>
<li>Adds backtracking protection to parameters without regexes
defined</li>
</ul>
</li>
<li>deps: encodeurl@~2.0.0
<ul>
<li>Removes encoding of <code>\</code>, <code>|</code>, and
<code>^</code> to align better with URL spec</li>
</ul>
</li>
<li>Deprecate passing <code>options.maxAge</code> and
<code>options.expires</code> to <code>res.clearCookie</code>
<ul>
<li>Will be ignored in v5, clearCookie will set a cookie with an expires
in the past to instruct clients to delete the cookie</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/expressjs/express/commit/21df421ebc7a5249bb31101da666bbf22adc3f18"><code>21df421</code></a>
4.20.0</li>
<li><a
href="https://github.com/expressjs/express/commit/4c9ddc1c47bf579e55c2fe837d76a952e9fd8959"><code>4c9ddc1</code></a>
feat: upgrade to serve-static@0.16.0</li>
<li><a
href="https://github.com/expressjs/express/commit/9ebe5d500d22cbb2b8aaa73446866b084c747971"><code>9ebe5d5</code></a>
feat: upgrade to send@0.19.0 (<a
href="https://redirect.github.com/expressjs/express/issues/5928">#5928</a>)</li>
<li><a
href="https://github.com/expressjs/express/commit/ec4a01b6b8814d7b007f36a3023f4dbafdbc3d09"><code>ec4a01b</code></a>
feat: upgrade to body-parser@1.20.3 (<a
href="https://redirect.github.com/expressjs/express/issues/5926">#5926</a>)</li>
<li><a
href="https://github.com/expressjs/express/commit/54271f69b511fea198471e6ff3400ab805d6b553"><code>54271f6</code></a>
fix: don't render redirect values in anchor href</li>
<li><a
href="https://github.com/expressjs/express/commit/125bb742a38cd97938a3932b47cc301e41c31f5d"><code>125bb74</code></a>
path-to-regexp@0.1.10 (<a
href="https://redirect.github.com/expressjs/express/issues/5902">#5902</a>)</li>
<li><a
href="https://github.com/expressjs/express/commit/2a980ad16052e53b398c9953fea50e3daa0b495c"><code>2a980ad</code></a>
merge-descriptors@1.0.3 (<a
href="https://redirect.github.com/expressjs/express/issues/5781">#5781</a>)</li>
<li><a
href="https://github.com/expressjs/express/commit/a3e7e05e0a435b7b4be25bd38d8d0ca19a773ca9"><code>a3e7e05</code></a>
docs: specify new instructions for <code>question</code> and
<code>discuss</code></li>
<li><a
href="https://github.com/expressjs/express/commit/c5addb9a17c5b4c9fccdd2c04153a30595e03385"><code>c5addb9</code></a>
deps: path-to-regexp@0.1.8 (<a
href="https://redirect.github.com/expressjs/express/issues/5603">#5603</a>)</li>
<li><a
href="https://github.com/expressjs/express/commit/e35380a39d94937e3d0f7119e0efbc7cd69d003f"><code>e35380a</code></a>
docs: add <a
href="https://github.com/IamLizu"><code>@IamLizu</code></a> to the
triage team (<a
href="https://redirect.github.com/expressjs/express/issues/5836">#5836</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/expressjs/express/compare/4.19.2...4.20.0">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=express&package-manager=npm_and_yarn&previous-version=4.19.2&new-version=4.20.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/microsoft/accessibility-insights-web/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 19:27:08 +03:00
|
|
|
"express": "^4.20.0",
|
2020-06-10 20:34:15 +03:00
|
|
|
"extract-zip": "^2.0.1",
|
2023-07-15 01:22:38 +03:00
|
|
|
"fake-indexeddb": "^4.0.2",
|
2023-10-30 12:33:31 +03:00
|
|
|
"fork-ts-checker-webpack-plugin": "^9.0.2",
|
2022-06-03 22:57:53 +03:00
|
|
|
"generic-names": "^4.0.0",
|
2023-02-14 23:27:11 +03:00
|
|
|
"grunt": "^1.6.1",
|
2019-01-24 03:44:12 +03:00
|
|
|
"grunt-bom-removal": "1.0.1",
|
2021-05-25 22:34:03 +03:00
|
|
|
"grunt-cli": "^1.4.3",
|
2019-08-16 01:39:08 +03:00
|
|
|
"grunt-concurrent": "^3.0.0",
|
2022-04-18 21:01:54 +03:00
|
|
|
"grunt-contrib-clean": "^2.0.1",
|
2019-01-24 03:44:12 +03:00
|
|
|
"grunt-contrib-copy": "^1.0.0",
|
|
|
|
"grunt-contrib-watch": "^1.1.0",
|
|
|
|
"grunt-exec": "^3.0.0",
|
2019-08-14 19:59:38 +03:00
|
|
|
"grunt-sass": "^3.1.0",
|
2023-09-15 23:43:57 +03:00
|
|
|
"jest": "^29.7.0",
|
2023-09-16 00:33:25 +03:00
|
|
|
"jest-environment-jsdom": "^29.7.0",
|
2023-04-25 23:50:59 +03:00
|
|
|
"jest-junit": "^16.0.0",
|
2021-04-15 23:00:49 +03:00
|
|
|
"js-yaml": "^4.1.0",
|
2024-07-30 03:19:43 +03:00
|
|
|
"jscodeshift": "^0.16.1",
|
2022-05-09 20:58:58 +03:00
|
|
|
"license-check-and-add": "^4.0.5",
|
2024-05-27 23:03:06 +03:00
|
|
|
"mini-css-extract-plugin": "2.9.0",
|
2019-01-29 00:15:45 +03:00
|
|
|
"npm-run-all": "^4.1.5",
|
2024-11-08 09:25:37 +03:00
|
|
|
"playwright": "^1.48.1",
|
2024-08-09 02:06:33 +03:00
|
|
|
"postcss": "^8.4.41",
|
2023-02-07 23:33:02 +03:00
|
|
|
"postcss-modules": "^6.0.0",
|
2024-10-08 21:02:04 +03:00
|
|
|
"prettier": "^3.3.3",
|
2023-12-27 16:14:11 +03:00
|
|
|
"regenerator-runtime": "^0.14.1",
|
2024-01-03 20:38:15 +03:00
|
|
|
"sass": "^1.69.7",
|
2023-12-27 15:47:02 +03:00
|
|
|
"sass-loader": "^13.3.3",
|
2024-10-08 23:14:45 +03:00
|
|
|
"serve-static": "^1.16.0",
|
2024-01-03 19:55:26 +03:00
|
|
|
"simple-git": "^3.22.0",
|
chore(deps-dev): Bump stylelint from 15.10.3 to 15.11.0 (#7027)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 15.10.3
to 15.11.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint/stylelint/releases">stylelint's
releases</a>.</em></p>
<blockquote>
<h2>15.11.0</h2>
<ul>
<li>Added: <code>ignoreRules</code> to <code>max-nesting-depth</code>
(<a
href="https://redirect.github.com/stylelint/stylelint/issues/7215">#7215</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
<li>Fixed:
<code>declaration-block-no-redundant-longhand-properties</code> autofix
for <code>grid-template</code> with <code>repeat()</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/7230">#7230</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
<li>Fixed:
<code>declaration-block-no-redundant-longhand-properties</code> false
negative for <code>font-synthesis</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/7214">#7214</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
<li>Fixed:
<code>declaration-block-no-redundant-longhand-properties</code> false
negatives for <code>*-block</code> and <code>*-inline</code> logical
properties (<a
href="https://redirect.github.com/stylelint/stylelint/issues/7208">#7208</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
<li>Fixed:
<code>declaration-block-no-redundant-longhand-properties</code> false
negatives for <code>overflow</code>, <code>overscroll-behavior</code>,
<code>scroll-margin</code>, <code>scroll-padding</code>, and new Box
Alignment shorthands (<a
href="https://redirect.github.com/stylelint/stylelint/issues/7213">#7213</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
<li>Fixed: <code>function-no-unknown</code> false positives for
<code>light-dark</code>, <code>linear</code> and <code>xywh</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/7242">#7242</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md">stylelint's
changelog</a>.</em></p>
<blockquote>
<h2>15.11.0</h2>
<ul>
<li>Added: <code>ignoreRules</code> to <code>max-nesting-depth</code>
(<a
href="https://redirect.github.com/stylelint/stylelint/pull/7215">#7215</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
<li>Fixed:
<code>declaration-block-no-redundant-longhand-properties</code> autofix
for <code>grid-template</code> with <code>repeat()</code> (<a
href="https://redirect.github.com/stylelint/stylelint/pull/7230">#7230</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
<li>Fixed:
<code>declaration-block-no-redundant-longhand-properties</code> false
negative for <code>font-synthesis</code> (<a
href="https://redirect.github.com/stylelint/stylelint/pull/7214">#7214</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
<li>Fixed:
<code>declaration-block-no-redundant-longhand-properties</code> false
negatives for <code>*-block</code> and <code>*-inline</code> logical
properties (<a
href="https://redirect.github.com/stylelint/stylelint/pull/7208">#7208</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
<li>Fixed:
<code>declaration-block-no-redundant-longhand-properties</code> false
negatives for <code>overflow</code>, <code>overscroll-behavior</code>,
<code>scroll-margin</code>, <code>scroll-padding</code>, and new Box
Alignment shorthands (<a
href="https://redirect.github.com/stylelint/stylelint/pull/7213">#7213</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
<li>Fixed: <code>function-no-unknown</code> false positives for
<code>light-dark</code>, <code>linear</code> and <code>xywh</code> (<a
href="https://redirect.github.com/stylelint/stylelint/pull/7242">#7242</a>)
(<a
href="https://github.com/mattxwang"><code>@mattxwang</code></a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/stylelint/stylelint/commit/8914d463e6e2622ba0d82ae69d36e61f3c08eb89"><code>8914d46</code></a>
15.11.0</li>
<li><a
href="https://github.com/stylelint/stylelint/commit/29fe2df6f35c3905075cd9ec1dd76c2d4780e625"><code>29fe2df</code></a>
Prepare 15.11.0 (<a
href="https://redirect.github.com/stylelint/stylelint/issues/7212">#7212</a>)</li>
<li><a
href="https://github.com/stylelint/stylelint/commit/fafb83e6fab3e2a4f84d8536cd9b19ebdc5f3282"><code>fafb83e</code></a>
Bump known-css-properties from 0.28.0 to 0.29.0 (<a
href="https://redirect.github.com/stylelint/stylelint/issues/7247">#7247</a>)</li>
<li><a
href="https://github.com/stylelint/stylelint/commit/6e06398a3f53bda6ed9a86ad17defd40d0c24a5a"><code>6e06398</code></a>
Bump css-functions-list from 3.2.0 to 3.2.1 (<a
href="https://redirect.github.com/stylelint/stylelint/issues/7242">#7242</a>)</li>
<li><a
href="https://github.com/stylelint/stylelint/commit/994112133722d7d55267a042f5c94fa8892ebed2"><code>9941121</code></a>
Remove some TODOs (<a
href="https://redirect.github.com/stylelint/stylelint/issues/7234">#7234</a>)</li>
<li><a
href="https://github.com/stylelint/stylelint/commit/f1d3228d21d197720785b41e2b505ce320146377"><code>f1d3228</code></a>
Fix <code>declaration-block-no-redundant-longhand-properties</code>
autofix for `grid-te...</li>
<li><a
href="https://github.com/stylelint/stylelint/commit/2a1fc6dbcfc1f245a4f75e83d8d8048c098614c4"><code>2a1fc6d</code></a>
Bump postcss from 8.4.28 to 8.4.31 (<a
href="https://redirect.github.com/stylelint/stylelint/issues/7218">#7218</a>)</li>
<li><a
href="https://github.com/stylelint/stylelint/commit/dfd1ffcabb2036d9e2e25aed512c193d3d868ae5"><code>dfd1ffc</code></a>
Fix <code>declaration-block-no-redundant-longhand-properties</code>
false negative for `...</li>
<li><a
href="https://github.com/stylelint/stylelint/commit/3374bb49f01073b91e5336887807ef3fb4699957"><code>3374bb4</code></a>
Fix <code>declaration-block-no-redundant-longhand-properties</code>
false negatives for ...</li>
<li><a
href="https://github.com/stylelint/stylelint/commit/e468814ac18e9e8bcba295e8a1b7793ff350f243"><code>e468814</code></a>
Add <code>ignoreRules</code> to <code>max-nesting-depth</code> (<a
href="https://redirect.github.com/stylelint/stylelint/issues/7215">#7215</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/stylelint/stylelint/compare/15.10.3...15.11.0">compare
view</a></li>
</ul>
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Tryon <45672944+DaveTryon@users.noreply.github.com>
2023-10-18 21:09:51 +03:00
|
|
|
"stylelint": "^15.11.0",
|
2023-05-31 00:04:23 +03:00
|
|
|
"stylelint-config-prettier-scss": "^1.0.0",
|
2023-11-03 19:13:50 +03:00
|
|
|
"stylelint-config-standard-scss": "^11.1.0",
|
2024-01-03 20:39:31 +03:00
|
|
|
"terser-webpack-plugin": "^5.3.10",
|
2023-11-15 20:07:39 +03:00
|
|
|
"ts-loader": "^9.5.1",
|
2023-11-27 21:09:04 +03:00
|
|
|
"typed-scss-modules": "^8.0.0",
|
2019-01-24 03:44:12 +03:00
|
|
|
"typemoq": "^2.1.0",
|
2024-05-09 08:08:45 +03:00
|
|
|
"typescript": "^5.4.5",
|
2024-10-09 22:39:20 +03:00
|
|
|
"webpack": "^5.95.0",
|
2023-06-07 22:09:49 +03:00
|
|
|
"webpack-cli": "^5.1.4",
|
2021-04-28 20:07:42 +03:00
|
|
|
"webpack-node-externals": "^3.0.0"
|
2019-01-24 03:44:12 +03:00
|
|
|
},
|
|
|
|
"dependencies": {
|
feat(react 18): upgrade to react 18. (#7336)
#### Details
This feature updates below packages.
1. react from v16 to v18.
2. react-dom from v16 to v18.
3. @types-react from v16 to v18.
4. @types-react-dom from v16 to v18.
5. @testing-library/react from v12 to v15.
6. @fluentui/react from v8.x.x to v8.118.1.
7. Removed react-helmet and added react-helmet-async.
**1. Notable changes for react, react-dom:**
**Motivation:** React 18 introduces a new root API which provides better
ergonomics for managing roots. The new root API also enables the new
concurrent renderer, which allows you to opt-into concurrent features.
**In V16, we had below to render the component:**
import { render } from 'react-dom';
const container = document.getElementById('app');
render(<App tab="home" />, container);
- **In V18, we have below to render the component:**
import { createRoot } from 'react-dom/client';
const container = document.getElementById('app');
const root = createRoot(container); // createRoot(container!) if you use
TypeScript
root.render(<App tab="home" />);
**2. Notable changes for @types-react and @types-react-dom:**
**Motivation:** The new types are safer and catch issues that used to be
ignored by the type checker. The most notable change is that the
children prop now needs to be listed explicitly when defining props
- In old we have below
WrappedComponent: React.ComponentType<P>,
- In new we have below
WrappedComponent: React.ComponentType<**React.PropsWithChildren<P>**>,
**Approach for type changes:** So this Type changes are added using
automation script https://github.com/eps1lon/types-react-codemod. This
automation script is suggested in react18 migration document.
- Added new package types-react-codemod.
- After adding the package, executed yarn types-react-codemod preset-18
./src in root, and then selected all option from the list of options.
- This will transform all types of component type having child
components to <React.PropsWithChildren<P>>.
**3. Notable changes for @testing-library/react:**
- Current version of @testing-library/react does not support react18, so
from v13.x.x, react18 support is added. So updated to latest V15. For
reference -
https://github.com/testing-library/react-testing-library/releases/tag/v13.0.0
- Wrapped state updates/async operations under act.
- Updated test cases with createRoot for createRootMock instead of
render and renderMock.
-
**4. Notable changes for @fluentui/react from v8.x.x to v8.118.1**
- Existing fluent ui version does not support react18, test cases were
failing, hence after checking v8.118.1 documentation, it supports react
and react-dom v18. Hence upadated.
**5. Notable changes for react-helmet-async:**
- Current react-helmet package throws error 'objects cannot be child,
expected elements', for react18, Hence as alternative used
react-helmet-async. For reference
https://www.npmjs.com/package/react-helmet-async?activeTab=readme
because react-helmet-async uses react18 as dependency.
- Wrapped Helmet provider for root, as to pass context of
react-helmet-async.
- Created a variable to store data, and then this data was passed as
JSX, instead of passing the data as it is. Because it will throw
**"Objects cannot be used as react elements"**.
**For example:**
`export const GuidanceTitle =
NamedFC<GuidanceTitleProps>('GuidanceTitle', ({ name }) => {
const titleValue = `Guidance for ${name} - ${productName}`;
return (
<>
<Helmet>
<title>{titleValue}</title>
</Helmet>
<h1>{name}</h1>
</>
);
});`
**6. Along with above**
- Made changes to mock helpers, because after react18 changes, the JSON
structure of component was coming differently, so accordingly corrected
the helpers, to get proper component name for snapshots.
- Updated snapshots, because as we are using latest Fluent UI version,
new props are introduced which can be seen in snapshots.
- Refactored few test cases, which were wrong logically, like for
example:
using of mockReactComponents in global and inside test case using of
useOriginalComponents to get the props using
getMockComponentClassPropsForCall which was wrong logically is fixed to
use any one approach.
- Updated report package with react, react-dom v18 to keep in sync with
AI web.
##### Context
This PR includes all changes required for migration of AI web from
react16 to react18.
It includes test cases fixes.
It includes lint issues fixes.
<!-- Are there any parts that you've intentionally left out-of-scope for
a later PR to handle? -->
<!-- Were there any alternative approaches you considered? What
tradeoffs did you consider? -->
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a"
in the checkbox -->
- [ ] Addresses an existing issue: #0000
- [x] Ran `yarn fastpass`
- [x] Added/updated relevant unit test(s) (and ran `yarn test`)
- [x] Verified code coverage for the changes made. Check coverage report
at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic
tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). See
`CONTRIBUTING.md`.
- [ ] (UI changes only) Added screenshots/GIFs to description above
- [x] (UI changes only) Verified usability with NVDA/JAWS
---------
Co-authored-by: Jeevani Chinthala <v-jeevanic@microsoft.com>
Co-authored-by: JeevaniChinthala <148259226+JeevaniChinthala@users.noreply.github.com>
Co-authored-by: v-sharmachir <v-sharmachir@microsoft.com>
Co-authored-by: Chirag Sharma <150002431+v-sharmachir@users.noreply.github.com>
Co-authored-by: Saanica Ghate <148259220+SaanicaG@users.noreply.github.com>
Co-authored-by: Saanica Ghate <v-sghate@microsoft.com>
2024-06-14 22:58:19 +03:00
|
|
|
"@fluentui/react": "^8.118.1",
|
chore(deps): Bump @microsoft/applicationinsights-web from 2.8.11 to 2.8.15 (#6862)
Bumps
[@microsoft/applicationinsights-web](https://github.com/microsoft/ApplicationInsights-JS)
from 2.8.11 to 2.8.15.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/ApplicationInsights-JS/releases"><code>@microsoft/applicationinsights-web</code>'s
releases</a>.</em></p>
<blockquote>
<h2>2.8.15</h2>
<h3>Changelog</h3>
<ul>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2100">#2100</a>
Update UMD and IIFE Bundle intro for Version 2 to avoid conflicting with
other SDK versions</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2106">#2106</a>
[Master] Consider export IClickAnalyticsConfiguration from the click
plugin?</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2107">#2107</a>
[Master][Task]24316375: add support for cfgSync plugin</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2086">#2086</a>
[BUG] Field 'fileName' on type 'StackFrame' is too long. Expected: 1024
characters</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2094">#2094</a>
_getVerifiedStorageObject - contentious sessionStorage element</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2096">#2096</a>
[Master] Create rollup base to unify bundling
<ul>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2122">#2122</a>
[Master] base rollup fix for version number</li>
</ul>
</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>rollup rewrite by <a
href="https://github.com/siyuniu-ms"><code>@siyuniu-ms</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2096">microsoft/ApplicationInsights-JS#2096</a></li>
<li>add intro for Version 2 to avoid conflict by <a
href="https://github.com/siyuniu-ms"><code>@siyuniu-ms</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2100">microsoft/ApplicationInsights-JS#2100</a></li>
<li>[Master] Consider export IClickAnalyticsConfiguration from the click
plugin? <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2106">#2106</a>
by <a href="https://github.com/MSNev"><code>@MSNev</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2109">microsoft/ApplicationInsights-JS#2109</a></li>
<li>[Master][Task]24316375: add support for cfgSync plugin by <a
href="https://github.com/Karlie-777"><code>@Karlie-777</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2107">microsoft/ApplicationInsights-JS#2107</a></li>
<li>[Master] [BUG] Field 'fileName' on type 'StackFrame' is too long.
Expected: 1024 characters <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2086">#2086</a>
by <a href="https://github.com/MSNev"><code>@MSNev</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2119">microsoft/ApplicationInsights-JS#2119</a></li>
<li>[master] add prefix before storage name when setting it by <a
href="https://github.com/siyuniu-ms"><code>@siyuniu-ms</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2114">microsoft/ApplicationInsights-JS#2114</a></li>
<li>master base rollup fix for version number by <a
href="https://github.com/siyuniu-ms"><code>@siyuniu-ms</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2122">microsoft/ApplicationInsights-JS#2122</a></li>
<li>[Master][Release] Increase version to 2.8.15 by <a
href="https://github.com/MSNev"><code>@MSNev</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2124">microsoft/ApplicationInsights-JS#2124</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/microsoft/ApplicationInsights-JS/compare/2.8.14...2.8.15">https://github.com/microsoft/ApplicationInsights-JS/compare/2.8.14...2.8.15</a></p>
<h2>2.8.14</h2>
<h3>Changelog</h3>
<ul>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2061">#2061</a>
[BUG] hasDocument should be invoked as function</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2079">#2079</a>
[Master] [BUG] The SDK is not limiting the sdkVersion length, which
causes the nightly builds to throw error</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2065">#2065</a>
[Master] Type 'T' does not satisfy the constraint 'IConfiguration'</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2075">#2075</a>
[Master] [BUG] ClickAnalytics throwing errors in console</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2071">#2071</a>
[Master] Update Minify script to always sort imports</li>
</ul>
<h2>What's Changed</h2>
<ul>
<li>[Master] [BUG] hasDocument should be invoked as function <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2061">#2061</a>
by <a href="https://github.com/MSNev"><code>@MSNev</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2062">microsoft/ApplicationInsights-JS#2062</a></li>
<li>[Master] Remove unused nightwatch due to dependent security issues
by <a href="https://github.com/MSNev"><code>@MSNev</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2066">microsoft/ApplicationInsights-JS#2066</a></li>
<li>[Master] Update Minify script to always sort imports by <a
href="https://github.com/MSNev"><code>@MSNev</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2071">microsoft/ApplicationInsights-JS#2071</a></li>
<li>[Master] Update ci action setup-node to v3 by <a
href="https://github.com/MSNev"><code>@MSNev</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2074">microsoft/ApplicationInsights-JS#2074</a></li>
<li>[Master] [BUG] The SDK is not limiting the sdkVersion length, which
causes the nightly builds to throw error <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2079">#2079</a>
by <a href="https://github.com/MSNev"><code>@MSNev</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2081">microsoft/ApplicationInsights-JS#2081</a></li>
<li>[Master][Release] Increase version to 2.8.14 by <a
href="https://github.com/MSNev"><code>@MSNev</code></a> in <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/pull/2084">microsoft/ApplicationInsights-JS#2084</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/microsoft/ApplicationInsights-JS/compare/2.8.13...2.8.14">https://github.com/microsoft/ApplicationInsights-JS/compare/2.8.13...2.8.14</a></p>
<h2>2.8.13</h2>
<h3>Changelog</h3>
<ul>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2052">#2052</a>
[BUG] Typing issue with generated types causing Type X is not assignable
to type Y</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2055">#2055</a>
Add ability to disable the pollInternalLogs via config and change to
stop using setInterval</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2049">#2049</a>
[Master] Fix Perf Tests</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/microsoft/ApplicationInsights-JS/blob/2.8.15/RELEASES.md"><code>@microsoft/applicationinsights-web</code>'s
changelog</a>.</em></p>
<blockquote>
<h2>2.8.15 (Aug 3rd, 2023)</h2>
<h3>Changelog</h3>
<ul>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2100">#2100</a>
Update UMD and IIFE Bundle intro for Version 2 to avoid conflicting with
other SDK versions</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2106">#2106</a>
[Master] Consider export IClickAnalyticsConfiguration from the click
plugin?</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2107">#2107</a>
[Master][Task]24316375: add support for cfgSync plugin</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2086">#2086</a>
[BUG] Field 'fileName' on type 'StackFrame' is too long. Expected: 1024
characters</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2094">#2094</a>
_getVerifiedStorageObject - contentious sessionStorage element</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2096">#2096</a>
[Master] Create rollup base to unify bundling
<ul>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2122">#2122</a>
[Master] base rollup fix for version number</li>
</ul>
</li>
</ul>
<h2>2.8.14 (May 22nd, 2023)</h2>
<h3>Changelog</h3>
<ul>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2061">#2061</a>
[BUG] hasDocument should be invoked as function</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2079">#2079</a>
[Master] [BUG] The SDK is not limiting the sdkVersion length, which
causes the nightly builds to throw error</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2065">#2065</a>
[Master] Type 'T' does not satisfy the constraint 'IConfiguration'</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2075">#2075</a>
[Master] [BUG] ClickAnalytics throwing errors in console</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2071">#2071</a>
[Master] Update Minify script to always sort imports</li>
</ul>
<h2>2.8.13 (May 1st, 2023)</h2>
<h3>Changelog</h3>
<ul>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2052">#2052</a>
[BUG] Typing issue with generated types causing Type X is not assignable
to type Y</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2055">#2055</a>
Add ability to disable the pollInternalLogs via config and change to
stop using setInterval</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2049">#2049</a>
[Master] Fix Perf Tests</li>
</ul>
<h2>2.8.12 (Apr 11th, 2023)</h2>
<h3>Changelog</h3>
<ul>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2014">#2014</a>
[BUG] The documentation for enableDebug is incorrect, it should
reference enableDebugExceptions</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2027">#2027</a>
[BUG] SDK LOAD Failure reporting not working</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2034">#2034</a>
[BUG] Failed XHR request after ever tracked item when gathered logs
exceed maxBatchSizeInBytes while offline</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2037">#2037</a>
[Master] Add local storage-based implementation <a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/1419">#1419</a>
<ul>
<li>Add support for user provided storage option for Sender</li>
</ul>
</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2029">#2029</a>
[Master] Add npm-pack and npm-publish tasks</li>
<li><a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2026">#2026</a>
[Master] Fix examples, Throttle tests and export dependency types from
Sku</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/microsoft/ApplicationInsights-JS/commit/e413172ebfd9ead4b8ee74f59044b8c267c1701b"><code>e413172</code></a>
[Master][Release] Increase version to 2.8.15 (<a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2124">#2124</a>)</li>
<li><a
href="https://github.com/microsoft/ApplicationInsights-JS/commit/0362688fbef09a11707687ab483246b58939e6e9"><code>0362688</code></a>
master base rollup fix for version number (<a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2122">#2122</a>)</li>
<li><a
href="https://github.com/microsoft/ApplicationInsights-JS/commit/fc6b7f99a2a4061ff466bbd1206d191bc7911d88"><code>fc6b7f9</code></a>
[master] add prefix before storage name when setting it (<a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2114">#2114</a>)</li>
<li><a
href="https://github.com/microsoft/ApplicationInsights-JS/commit/87bcc78400f25a1d88c813dbcdc49ff6a8fafa85"><code>87bcc78</code></a>
[Master] [BUG] Field 'fileName' on type 'StackFrame' is too long.
Expected: 1...</li>
<li><a
href="https://github.com/microsoft/ApplicationInsights-JS/commit/a8e7dc35be29015be8c4e5e21e1faaa7de16af1d"><code>a8e7dc3</code></a>
[Master][Task]24316375: add support for cfgSync plugin (<a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2107">#2107</a>)</li>
<li><a
href="https://github.com/microsoft/ApplicationInsights-JS/commit/3a9fc30c73c99f394af3817b9c8c88fa937bed68"><code>3a9fc30</code></a>
[Master] Consider export IClickAnalyticsConfiguration from the click
plugin? ...</li>
<li><a
href="https://github.com/microsoft/ApplicationInsights-JS/commit/7e288cce126ef3a2fad750367f0a679d691abd5e"><code>7e288cc</code></a>
add intro for Version 2 to avoid conflict (<a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2100">#2100</a>)</li>
<li><a
href="https://github.com/microsoft/ApplicationInsights-JS/commit/3674d3f2da325912157b75f76cb30bb6420d0eb3"><code>3674d3f</code></a>
rollup rewrite (<a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2096">#2096</a>)</li>
<li><a
href="https://github.com/microsoft/ApplicationInsights-JS/commit/559ff150149f70b2004a7f412d22268c5668d4b4"><code>559ff15</code></a>
[Master][Release] Increase version to 2.8.14 (<a
href="https://redirect.github.com/microsoft/ApplicationInsights-JS/issues/2084">#2084</a>)</li>
<li><a
href="https://github.com/microsoft/ApplicationInsights-JS/commit/4337b5d7daf7acc210ce1143001bc6aefcb9a4bb"><code>4337b5d</code></a>
[Master] [BUG] The SDK is not limiting the sdkVersion length, which
causes th...</li>
<li>Additional commits viewable in <a
href="https://github.com/microsoft/ApplicationInsights-JS/compare/2.8.11...2.8.15">compare
view</a></li>
</ul>
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-04 03:24:35 +03:00
|
|
|
"@microsoft/applicationinsights-web": "^2.8.15",
|
2024-01-03 20:01:13 +03:00
|
|
|
"@testing-library/user-event": "^14.5.2",
|
2023-01-09 18:40:32 +03:00
|
|
|
"ajv": "^8.12.0",
|
2024-11-06 08:15:33 +03:00
|
|
|
"axe-core": "4.10.2",
|
2024-01-03 20:57:56 +03:00
|
|
|
"classnames": "^2.5.1",
|
2023-05-23 00:04:05 +03:00
|
|
|
"idb-keyval": "^6.2.1",
|
2021-02-24 01:32:19 +03:00
|
|
|
"lodash": "^4.17.21",
|
2024-08-12 21:02:22 +03:00
|
|
|
"luxon": "^3.5.0",
|
feat(react 18): upgrade to react 18. (#7336)
#### Details
This feature updates below packages.
1. react from v16 to v18.
2. react-dom from v16 to v18.
3. @types-react from v16 to v18.
4. @types-react-dom from v16 to v18.
5. @testing-library/react from v12 to v15.
6. @fluentui/react from v8.x.x to v8.118.1.
7. Removed react-helmet and added react-helmet-async.
**1. Notable changes for react, react-dom:**
**Motivation:** React 18 introduces a new root API which provides better
ergonomics for managing roots. The new root API also enables the new
concurrent renderer, which allows you to opt-into concurrent features.
**In V16, we had below to render the component:**
import { render } from 'react-dom';
const container = document.getElementById('app');
render(<App tab="home" />, container);
- **In V18, we have below to render the component:**
import { createRoot } from 'react-dom/client';
const container = document.getElementById('app');
const root = createRoot(container); // createRoot(container!) if you use
TypeScript
root.render(<App tab="home" />);
**2. Notable changes for @types-react and @types-react-dom:**
**Motivation:** The new types are safer and catch issues that used to be
ignored by the type checker. The most notable change is that the
children prop now needs to be listed explicitly when defining props
- In old we have below
WrappedComponent: React.ComponentType<P>,
- In new we have below
WrappedComponent: React.ComponentType<**React.PropsWithChildren<P>**>,
**Approach for type changes:** So this Type changes are added using
automation script https://github.com/eps1lon/types-react-codemod. This
automation script is suggested in react18 migration document.
- Added new package types-react-codemod.
- After adding the package, executed yarn types-react-codemod preset-18
./src in root, and then selected all option from the list of options.
- This will transform all types of component type having child
components to <React.PropsWithChildren<P>>.
**3. Notable changes for @testing-library/react:**
- Current version of @testing-library/react does not support react18, so
from v13.x.x, react18 support is added. So updated to latest V15. For
reference -
https://github.com/testing-library/react-testing-library/releases/tag/v13.0.0
- Wrapped state updates/async operations under act.
- Updated test cases with createRoot for createRootMock instead of
render and renderMock.
-
**4. Notable changes for @fluentui/react from v8.x.x to v8.118.1**
- Existing fluent ui version does not support react18, test cases were
failing, hence after checking v8.118.1 documentation, it supports react
and react-dom v18. Hence upadated.
**5. Notable changes for react-helmet-async:**
- Current react-helmet package throws error 'objects cannot be child,
expected elements', for react18, Hence as alternative used
react-helmet-async. For reference
https://www.npmjs.com/package/react-helmet-async?activeTab=readme
because react-helmet-async uses react18 as dependency.
- Wrapped Helmet provider for root, as to pass context of
react-helmet-async.
- Created a variable to store data, and then this data was passed as
JSX, instead of passing the data as it is. Because it will throw
**"Objects cannot be used as react elements"**.
**For example:**
`export const GuidanceTitle =
NamedFC<GuidanceTitleProps>('GuidanceTitle', ({ name }) => {
const titleValue = `Guidance for ${name} - ${productName}`;
return (
<>
<Helmet>
<title>{titleValue}</title>
</Helmet>
<h1>{name}</h1>
</>
);
});`
**6. Along with above**
- Made changes to mock helpers, because after react18 changes, the JSON
structure of component was coming differently, so accordingly corrected
the helpers, to get proper component name for snapshots.
- Updated snapshots, because as we are using latest Fluent UI version,
new props are introduced which can be seen in snapshots.
- Refactored few test cases, which were wrong logically, like for
example:
using of mockReactComponents in global and inside test case using of
useOriginalComponents to get the props using
getMockComponentClassPropsForCall which was wrong logically is fixed to
use any one approach.
- Updated report package with react, react-dom v18 to keep in sync with
AI web.
##### Context
This PR includes all changes required for migration of AI web from
react16 to react18.
It includes test cases fixes.
It includes lint issues fixes.
<!-- Are there any parts that you've intentionally left out-of-scope for
a later PR to handle? -->
<!-- Were there any alternative approaches you considered? What
tradeoffs did you consider? -->
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a"
in the checkbox -->
- [ ] Addresses an existing issue: #0000
- [x] Ran `yarn fastpass`
- [x] Added/updated relevant unit test(s) (and ran `yarn test`)
- [x] Verified code coverage for the changes made. Check coverage report
at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic
tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). See
`CONTRIBUTING.md`.
- [ ] (UI changes only) Added screenshots/GIFs to description above
- [x] (UI changes only) Verified usability with NVDA/JAWS
---------
Co-authored-by: Jeevani Chinthala <v-jeevanic@microsoft.com>
Co-authored-by: JeevaniChinthala <148259226+JeevaniChinthala@users.noreply.github.com>
Co-authored-by: v-sharmachir <v-sharmachir@microsoft.com>
Co-authored-by: Chirag Sharma <150002431+v-sharmachir@users.noreply.github.com>
Co-authored-by: Saanica Ghate <148259220+SaanicaG@users.noreply.github.com>
Co-authored-by: Saanica Ghate <v-sghate@microsoft.com>
2024-06-14 22:58:19 +03:00
|
|
|
"react": "^18.3.1",
|
|
|
|
"react-dom": "^18.3.1",
|
|
|
|
"react-helmet-async": "^2.0.5",
|
2023-12-25 13:34:32 +03:00
|
|
|
"react-resize-detector": "^9.1.1",
|
2024-01-29 13:36:35 +03:00
|
|
|
"react-router-dom": "^6.21.3",
|
2023-06-28 05:53:09 +03:00
|
|
|
"tabbable": "^6.2.0",
|
2023-10-30 21:11:37 +03:00
|
|
|
"ua-parser-js": "^1.0.37",
|
2023-09-16 00:52:05 +03:00
|
|
|
"uuid": "^9.0.1",
|
2024-07-10 00:11:00 +03:00
|
|
|
"webextension-polyfill": "^0.12.0"
|
2020-03-18 02:31:32 +03:00
|
|
|
},
|
|
|
|
"resolutions": {
|
chore(deps-dev): update to node 16 (#5343)
#### Details
This PR bumps our default/recommended build environment to Node 16.
There aren't any real breaking changes affecting us here, except that our unit tests appear to be much slower (timing out after 10m instead of taking 6-7m in Node 14). We could work around this by just sharding the unit tests like we do for e2e tests already, but it's not ideal; besides "still being slower for local development", it also breaks code coverage reporting (unless we add some new job to merge the results before publishing coverage).
The most relevant looking Jest/Node/V8 issues seem to be covered in the discussion of https://github.com/facebook/jest/issues/11956 - it would be good to experiment with some of the options on that thread to see if we can get the unit test time back down without needing to shard them. Some options to explore:
* Test Node 16.10.0 vs 16.11.0 (we wouldn't want to pin to 16.10.0, but it would be good to try it out to verify that the slowness really is caused by the V8 update in question on that issue)
* Try out the assorted node/v8 command line argument combinations suggested by that thread
Alternatively, we could explore more generic ways of making the tests faster; I think https://github.com/nicolo-ribaudo/jest-light-runner would be promising to look into.
##### Motivation
Keep dependencies up to date; 16 has been an LTS release for several months now.
Also, `accessibility-insights-service` updated to Node 16 yesterday, and we want to ensure that the packages we publish for it to consume are tested in the same environment.
##### Context
n/a
#### Pull request checklist
<!-- If a checklist item is not applicable to this change, write "n/a" in the checkbox -->
- [n/a] Addresses an existing issue: #0000
- [x] Ran `yarn fastpass`
- [ ] Added/updated relevant unit test(s) (and ran `yarn test`)
- [n/a] Verified code coverage for the changes made. Check coverage report at: `<rootDir>/test-results/unit/coverage`
- [x] PR title *AND* final merge commit title both start with a semantic tag (`fix:`, `chore:`, `feat(feature-name):`, `refactor:`). See `CONTRIBUTING.md`.
- [n/a] (UI changes only) Added screenshots/GIFs to description above
- [n/a] (UI changes only) Verified usability with NVDA/JAWS
2022-04-30 00:57:41 +03:00
|
|
|
"@types/node": "^16.11.7",
|
2023-03-30 21:42:42 +03:00
|
|
|
"ansi-regex@^2.0.0": "^5.0.1",
|
|
|
|
"license-check-and-add/yargs@^13.3.0": "^15.3.1",
|
2023-11-11 02:58:10 +03:00
|
|
|
"nth-check@~1.0.1": "^2.0.1",
|
|
|
|
"semver@^6.0.0": "^6.3.1",
|
|
|
|
"semver@^7.0.0": "^7.5.2"
|
2019-01-24 03:44:12 +03:00
|
|
|
}
|
2019-01-05 00:29:37 +03:00
|
|
|
}
|