From 387c114a035be154e444c6889c655e3a1ddffc61 Mon Sep 17 00:00:00 2001 From: Connor Clark Date: Thu, 2 Sep 2021 14:24:37 -0500 Subject: [PATCH] tests(eslint): add import/order rule (#12998) --- .eslintrc.js | 5 +- flow-report/.eslintrc.js | 15 + flow-report/src/app.tsx | 1 + flow-report/src/common.tsx | 1 + flow-report/src/sidebar/flow.tsx | 1 + flow-report/src/sidebar/sidebar.tsx | 1 + flow-report/src/summary/summary.tsx | 3 +- flow-report/src/wrappers/gauge.tsx | 1 + flow-report/src/wrappers/report-renderer.tsx | 1 + flow-report/src/wrappers/report.tsx | 1 + flow-report/standalone-flow.tsx | 1 + flow-report/test/app-test.tsx | 6 +- flow-report/test/common-test.tsx | 3 +- flow-report/test/sidebar/flow-test.tsx | 9 +- flow-report/test/sidebar/sidebar-test.tsx | 9 +- flow-report/test/summary/summary-test.tsx | 6 +- flow-report/test/util-test.tsx | 8 +- lighthouse-treemap/.eslintrc.cjs | 27 ++ lighthouse-treemap/test/treemap-test-pptr.js | 4 +- lighthouse-treemap/test/util-test.js | 2 + lighthouse-viewer/.eslintrc.cjs | 15 + lighthouse-viewer/app/src/github-api.js | 1 + .../app/src/lighthouse-report-viewer.js | 1 + lighthouse-viewer/test/drag-and-drop-test.js | 1 + lighthouse-viewer/test/test-helpers.js | 2 + lighthouse-viewer/test/viewer-test-pptr.js | 4 +- package.json | 1 + report/.eslintrc.cjs | 15 + report/generator/report-assets.js | 1 + report/test/clients/psi-test.js | 2 + report/test/generator/file-namer-test.js | 1 + .../test/generator/report-generator-test.js | 4 +- .../test/renderer/category-renderer-test.js | 1 + report/test/renderer/components-test.js | 2 + .../renderer/crc-details-renderer-test.js | 1 + report/test/renderer/details-renderer-test.js | 2 + report/test/renderer/dom-test.js | 3 +- report/test/renderer/i18n-test.js | 1 + .../performance-category-renderer-test.js | 1 + .../renderer/pwa-category-renderer-test.js | 1 + report/test/renderer/report-renderer-test.js | 1 + .../test/renderer/report-ui-features-test.js | 2 + report/test/renderer/snippet-renderer-test.js | 1 + report/test/renderer/text-encoding-test.js | 2 + report/test/renderer/util-test.js | 1 + yarn.lock | 266 +++++++++++++++++- 46 files changed, 415 insertions(+), 23 deletions(-) create mode 100644 lighthouse-treemap/.eslintrc.cjs diff --git a/.eslintrc.js b/.eslintrc.js index 8bc7b3ff71f4..515a30a62b75 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -11,7 +11,10 @@ module.exports = { // start with google standard style // https://github.com/google/eslint-config-google/blob/master/index.js extends: ['eslint:recommended', 'google'], - plugins: ['eslint-plugin-local-rules'], // include custom rules + plugins: [ + 'eslint-plugin-local-rules', + 'eslint-plugin-import', + ], env: { node: true, es6: true, diff --git a/flow-report/.eslintrc.js b/flow-report/.eslintrc.js index ffc25a7b2a1d..a6b6c99052ee 100644 --- a/flow-report/.eslintrc.js +++ b/flow-report/.eslintrc.js @@ -10,6 +10,21 @@ module.exports = { node: true, browser: true, }, + rules: { + // TODO(esmodules): move to root eslint when all code is ESM + // or when this is resolved: https://github.com/import-js/eslint-plugin-import/issues/2214 + 'import/order': [2, { + 'groups': [ + 'builtin', + 'external', + ['sibling', 'parent'], + 'index', + 'object', + 'type', + ], + 'newlines-between': 'always', + }], + }, overrides: [ // TS already handles this issue. // https://github.com/typescript-eslint/typescript-eslint/blob/master/docs/getting-started/linting/FAQ.md#i-get-errors-from-the-no-undef-rule-about-global-variables-not-being-defined-even-though-there-are-no-typescript-errors diff --git a/flow-report/src/app.tsx b/flow-report/src/app.tsx index 093f2c142425..5e56766a7709 100644 --- a/flow-report/src/app.tsx +++ b/flow-report/src/app.tsx @@ -5,6 +5,7 @@ */ import {FunctionComponent} from 'preact'; + import {ReportRendererProvider} from './wrappers/report-renderer'; import {Sidebar} from './sidebar/sidebar'; import {Summary} from './summary/summary'; diff --git a/flow-report/src/common.tsx b/flow-report/src/common.tsx index fac1e9b589db..2dfc28e852f8 100644 --- a/flow-report/src/common.tsx +++ b/flow-report/src/common.tsx @@ -5,6 +5,7 @@ */ import {FunctionComponent} from 'preact'; + import {Util} from '../../report/renderer/util'; const GatherModeIcon: FunctionComponent<{mode: LH.Result.GatherMode}> = ({mode}) => { diff --git a/flow-report/src/sidebar/flow.tsx b/flow-report/src/sidebar/flow.tsx index cd0f2639f394..dcdee127bf11 100644 --- a/flow-report/src/sidebar/flow.tsx +++ b/flow-report/src/sidebar/flow.tsx @@ -5,6 +5,7 @@ */ import {FunctionComponent} from 'preact'; + import {FlowStepIcon} from '../common'; import {classNames, useCurrentLhr, useDerivedStepNames, useFlowResult} from '../util'; diff --git a/flow-report/src/sidebar/sidebar.tsx b/flow-report/src/sidebar/sidebar.tsx index b712b95684c0..2183ff93f459 100644 --- a/flow-report/src/sidebar/sidebar.tsx +++ b/flow-report/src/sidebar/sidebar.tsx @@ -6,6 +6,7 @@ import {FunctionComponent} from 'preact'; import {useMemo} from 'preact/hooks'; + import {classNames, useCurrentLhr, useFlowResult, useLocale} from '../util'; import {SidebarFlow} from './flow'; diff --git a/flow-report/src/summary/summary.tsx b/flow-report/src/summary/summary.tsx index a119a94cc746..b4b92bbdf426 100644 --- a/flow-report/src/summary/summary.tsx +++ b/flow-report/src/summary/summary.tsx @@ -5,11 +5,12 @@ */ import {FunctionComponent} from 'preact'; +import {useMemo} from 'preact/hooks'; + import {Gauge} from '../wrappers/gauge'; import {CategoryRatio, FlowStepIcon} from '../common'; import {getScreenDimensions, getScreenshot, useDerivedStepNames, useFlowResult} from '../util'; import {Util} from '../../../report/renderer/util'; -import {useMemo} from 'preact/hooks'; const DISPLAYED_CATEGORIES = ['performance', 'accessibility', 'best-practices', 'seo']; const THUMBNAIL_WIDTH = 50; diff --git a/flow-report/src/wrappers/gauge.tsx b/flow-report/src/wrappers/gauge.tsx index cbe1216b0d25..dbf8800420cb 100644 --- a/flow-report/src/wrappers/gauge.tsx +++ b/flow-report/src/wrappers/gauge.tsx @@ -6,6 +6,7 @@ import {FunctionComponent} from 'preact'; import {useEffect, useLayoutEffect, useRef} from 'preact/hooks'; + import {useReportRenderer} from './report-renderer'; export const Gauge: FunctionComponent<{category: LH.ReportResult.Category, href: string}> = diff --git a/flow-report/src/wrappers/report-renderer.tsx b/flow-report/src/wrappers/report-renderer.tsx index a044f5fdb599..7fa83f405ec2 100644 --- a/flow-report/src/wrappers/report-renderer.tsx +++ b/flow-report/src/wrappers/report-renderer.tsx @@ -6,6 +6,7 @@ import {createContext, FunctionComponent} from 'preact'; import {useContext, useMemo} from 'preact/hooks'; + import {CategoryRenderer} from '../../../report/renderer/category-renderer'; import {DetailsRenderer} from '../../../report/renderer/details-renderer'; import {DOM} from '../../../report/renderer/dom'; diff --git a/flow-report/src/wrappers/report.tsx b/flow-report/src/wrappers/report.tsx index a22fc0c5107b..bba185e10c89 100644 --- a/flow-report/src/wrappers/report.tsx +++ b/flow-report/src/wrappers/report.tsx @@ -6,6 +6,7 @@ import {FunctionComponent} from 'preact'; import {useEffect, useLayoutEffect, useRef} from 'preact/hooks'; + import {useCurrentLhr, useHashParam} from '../util'; import {useReportRenderer} from './report-renderer'; diff --git a/flow-report/standalone-flow.tsx b/flow-report/standalone-flow.tsx index 83b29de98552..380f56aa990a 100644 --- a/flow-report/standalone-flow.tsx +++ b/flow-report/standalone-flow.tsx @@ -10,6 +10,7 @@ */ import {render} from 'preact'; + import {App} from './src/app'; // Used by standalone-flow.html diff --git a/flow-report/test/app-test.tsx b/flow-report/test/app-test.tsx index 5bd0b2256d9c..08e967b9d01f 100644 --- a/flow-report/test/app-test.tsx +++ b/flow-report/test/app-test.tsx @@ -5,11 +5,13 @@ */ import fs from 'fs'; -import {App} from '../src/app'; -import {render} from '@testing-library/preact'; import {dirname} from 'path'; import {fileURLToPath} from 'url'; +import {render} from '@testing-library/preact'; + +import {App} from '../src/app'; + const flowResult = JSON.parse( fs.readFileSync( // eslint-disable-next-line max-len diff --git a/flow-report/test/common-test.tsx b/flow-report/test/common-test.tsx index a7963158af5e..42c4c059999a 100644 --- a/flow-report/test/common-test.tsx +++ b/flow-report/test/common-test.tsx @@ -4,9 +4,10 @@ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ -import {CategoryRatio} from '../src/common'; import {render} from '@testing-library/preact'; +import {CategoryRatio} from '../src/common'; + describe('CategoryRatio', () => { it('renders passed audit count', async () => { const audits = { diff --git a/flow-report/test/sidebar/flow-test.tsx b/flow-report/test/sidebar/flow-test.tsx index b4510c47b63a..f82adc4c28ca 100644 --- a/flow-report/test/sidebar/flow-test.tsx +++ b/flow-report/test/sidebar/flow-test.tsx @@ -1,10 +1,13 @@ import fs from 'fs'; -import {SidebarFlow} from '../../src/sidebar/flow'; +import {dirname} from 'path'; +import {fileURLToPath} from 'url'; + import {render} from '@testing-library/preact'; import {FunctionComponent} from 'preact'; + +import {SidebarFlow} from '../../src/sidebar/flow'; import {FlowResultContext} from '../../src/util'; -import {dirname} from 'path'; -import {fileURLToPath} from 'url'; + const flowResult = JSON.parse( fs.readFileSync( diff --git a/flow-report/test/sidebar/sidebar-test.tsx b/flow-report/test/sidebar/sidebar-test.tsx index 2ce21518351e..9c6dce9d9676 100644 --- a/flow-report/test/sidebar/sidebar-test.tsx +++ b/flow-report/test/sidebar/sidebar-test.tsx @@ -5,12 +5,15 @@ */ import fs from 'fs'; -import {SidebarHeader, SidebarSummary} from '../../src/sidebar/sidebar'; +import {dirname} from 'path'; +import {fileURLToPath} from 'url'; + import {render} from '@testing-library/preact'; import {FunctionComponent} from 'preact'; + +import {SidebarHeader, SidebarSummary} from '../../src/sidebar/sidebar'; import {FlowResultContext} from '../../src/util'; -import {dirname} from 'path'; -import {fileURLToPath} from 'url'; + const flowResult = JSON.parse( fs.readFileSync( diff --git a/flow-report/test/summary/summary-test.tsx b/flow-report/test/summary/summary-test.tsx index f20e10c7e32c..eef0c1492b9d 100644 --- a/flow-report/test/summary/summary-test.tsx +++ b/flow-report/test/summary/summary-test.tsx @@ -5,11 +5,13 @@ */ import fs from 'fs'; -import {SummaryHeader, SummaryFlowStep} from '../../src/summary/summary'; -import {render} from '@testing-library/preact'; import {dirname} from 'path'; import {fileURLToPath} from 'url'; + +import {render} from '@testing-library/preact'; import {FunctionComponent} from 'preact'; + +import {SummaryHeader, SummaryFlowStep} from '../../src/summary/summary'; import {FlowResultContext} from '../../src/util'; import {ReportRendererProvider} from '../../src/wrappers/report-renderer'; diff --git a/flow-report/test/util-test.tsx b/flow-report/test/util-test.tsx index 8722429f1302..528addbbbda5 100644 --- a/flow-report/test/util-test.tsx +++ b/flow-report/test/util-test.tsx @@ -5,12 +5,14 @@ */ import fs from 'fs'; -import {FlowResultContext, useCurrentLhr, useDerivedStepNames} from '../src/util'; +import {dirname} from 'path'; +import {fileURLToPath} from 'url'; + import {renderHook} from '@testing-library/preact-hooks'; import {FunctionComponent} from 'preact'; import {act} from 'preact/test-utils'; -import {dirname} from 'path'; -import {fileURLToPath} from 'url'; + +import {FlowResultContext, useCurrentLhr, useDerivedStepNames} from '../src/util'; const flowResult: LH.FlowResult = JSON.parse( fs.readFileSync( diff --git a/lighthouse-treemap/.eslintrc.cjs b/lighthouse-treemap/.eslintrc.cjs new file mode 100644 index 000000000000..938d7e233f94 --- /dev/null +++ b/lighthouse-treemap/.eslintrc.cjs @@ -0,0 +1,27 @@ +/** + * @license Copyright 2021 The Lighthouse Authors. All Rights Reserved. + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. + */ +'use strict'; + +module.exports = { + env: { + browser: true, + }, + rules: { + // TODO(esmodules): move to root eslint when all code is ESM + // or when this is resolved: https://github.com/import-js/eslint-plugin-import/issues/2214 + 'import/order': [2, { + 'groups': [ + 'builtin', + 'external', + ['sibling', 'parent'], + 'index', + 'object', + 'type', + ], + 'newlines-between': 'always', + }], + }, +}; diff --git a/lighthouse-treemap/test/treemap-test-pptr.js b/lighthouse-treemap/test/treemap-test-pptr.js index a6a517e926fc..bb2d63902dd2 100644 --- a/lighthouse-treemap/test/treemap-test-pptr.js +++ b/lighthouse-treemap/test/treemap-test-pptr.js @@ -7,11 +7,11 @@ /* eslint-env jest */ -/* global document, window */ +import fs from 'fs'; import {jest} from '@jest/globals'; -import fs from 'fs'; import puppeteer from 'puppeteer'; + import {server} from '../../lighthouse-cli/test/fixtures/static-server.js'; import {LH_ROOT} from '../../root.js'; diff --git a/lighthouse-treemap/test/util-test.js b/lighthouse-treemap/test/util-test.js index 2bd90c53ab49..0e9c015efc61 100644 --- a/lighthouse-treemap/test/util-test.js +++ b/lighthouse-treemap/test/util-test.js @@ -9,7 +9,9 @@ import assert from 'assert'; import fs from 'fs'; + import jsdom from 'jsdom'; + import {TreemapUtil} from '../app/src/util.js'; import {LH_ROOT} from '../../root.js'; diff --git a/lighthouse-viewer/.eslintrc.cjs b/lighthouse-viewer/.eslintrc.cjs index 16419ef9ef11..8e460494adcc 100644 --- a/lighthouse-viewer/.eslintrc.cjs +++ b/lighthouse-viewer/.eslintrc.cjs @@ -9,4 +9,19 @@ module.exports = { env: { browser: true, }, + rules: { + // TODO(esmodules): move to root eslint when all code is ESM + // or when this is resolved: https://github.com/import-js/eslint-plugin-import/issues/2214 + 'import/order': [2, { + 'groups': [ + 'builtin', + 'external', + ['sibling', 'parent'], + 'index', + 'object', + 'type', + ], + 'newlines-between': 'always', + }], + }, }; diff --git a/lighthouse-viewer/app/src/github-api.js b/lighthouse-viewer/app/src/github-api.js index 0ef5f5591eb9..b37b276a277d 100644 --- a/lighthouse-viewer/app/src/github-api.js +++ b/lighthouse-viewer/app/src/github-api.js @@ -10,6 +10,7 @@ /** @typedef {{etag: ?string, content: LH.Result}} CachableGist */ import idbKeyval from 'idb-keyval'; + import {FirebaseAuth} from './firebase-auth.js'; import {getFilenamePrefix} from '../../../report/generator/file-namer.js'; diff --git a/lighthouse-viewer/app/src/lighthouse-report-viewer.js b/lighthouse-viewer/app/src/lighthouse-report-viewer.js index e7127b1967a7..a5ab34bdfdc3 100644 --- a/lighthouse-viewer/app/src/lighthouse-report-viewer.js +++ b/lighthouse-viewer/app/src/lighthouse-report-viewer.js @@ -6,6 +6,7 @@ 'use strict'; import idbKeyval from 'idb-keyval'; + import {DragAndDrop} from './drag-and-drop.js'; import {GithubApi} from './github-api.js'; import {PSIApi} from './psi-api'; diff --git a/lighthouse-viewer/test/drag-and-drop-test.js b/lighthouse-viewer/test/drag-and-drop-test.js index ccf78b31460c..1a7b4bc32b0a 100644 --- a/lighthouse-viewer/test/drag-and-drop-test.js +++ b/lighthouse-viewer/test/drag-and-drop-test.js @@ -8,6 +8,7 @@ /* eslint-env jest */ import {jest} from '@jest/globals'; + import {DragAndDrop} from '../app/src/drag-and-drop.js'; import * as testHelpers from './test-helpers.js'; diff --git a/lighthouse-viewer/test/test-helpers.js b/lighthouse-viewer/test/test-helpers.js index a006276d8ce9..46f477fc8b08 100644 --- a/lighthouse-viewer/test/test-helpers.js +++ b/lighthouse-viewer/test/test-helpers.js @@ -7,7 +7,9 @@ import * as fs from 'fs'; import * as path from 'path'; + import * as jsdom from 'jsdom'; + import {LH_ROOT} from '../../root.js'; /* eslint-env jest */ diff --git a/lighthouse-viewer/test/viewer-test-pptr.js b/lighthouse-viewer/test/viewer-test-pptr.js index 150eec6fa89f..512ea4b55a4a 100644 --- a/lighthouse-viewer/test/viewer-test-pptr.js +++ b/lighthouse-viewer/test/viewer-test-pptr.js @@ -7,10 +7,12 @@ /* eslint-env jest */ -import {jest} from '@jest/globals'; import * as fs from 'fs'; import * as assert from 'assert'; + +import {jest} from '@jest/globals'; import puppeteer from 'puppeteer'; + import {server} from '../../lighthouse-cli/test/fixtures/static-server.js'; import defaultConfig from '../../lighthouse-core/config/default-config.js'; import {LH_ROOT} from '../../root.js'; diff --git a/package.json b/package.json index 635f14f79c91..40fc5c4b3119 100644 --- a/package.json +++ b/package.json @@ -141,6 +141,7 @@ "devtools-protocol": "0.0.863986", "eslint": "^7.23.0", "eslint-config-google": "^0.9.1", + "eslint-plugin-import": "^2.24.2", "eslint-plugin-local-rules": "0.1.0", "event-target-shim": "^6.0.2", "exorcist": "^1.0.1", diff --git a/report/.eslintrc.cjs b/report/.eslintrc.cjs index cf965110f332..fed386bf3762 100644 --- a/report/.eslintrc.cjs +++ b/report/.eslintrc.cjs @@ -15,4 +15,19 @@ module.exports = { env: { browser: true, }, + rules: { + // TODO(esmodules): move to root eslint when all code is ESM + // or when this is resolved: https://github.com/import-js/eslint-plugin-import/issues/2214 + 'import/order': [2, { + 'groups': [ + 'builtin', + 'external', + ['sibling', 'parent'], + 'index', + 'object', + 'type', + ], + 'newlines-between': 'always', + }], + }, }; diff --git a/report/generator/report-assets.js b/report/generator/report-assets.js index 1df276806b7c..f7089468fe4b 100644 --- a/report/generator/report-assets.js +++ b/report/generator/report-assets.js @@ -6,6 +6,7 @@ 'use strict'; const fs = require('fs'); + const flowReportAssets = require('./flow-report-assets.js'); const REPORT_TEMPLATE = fs.readFileSync(__dirname + '/../assets/standalone-template.html', diff --git a/report/test/clients/psi-test.js b/report/test/clients/psi-test.js index 72ff6c69b933..54791de35e7b 100644 --- a/report/test/clients/psi-test.js +++ b/report/test/clients/psi-test.js @@ -7,7 +7,9 @@ import {strict as assert} from 'assert'; import fs from 'fs'; + import jsdom from 'jsdom'; + import testUtils from '../../../lighthouse-core/test/test-utils.js'; import {prepareLabData} from '../../clients/psi.js'; import {Util} from '../../renderer/util.js'; diff --git a/report/test/generator/file-namer-test.js b/report/test/generator/file-namer-test.js index 554b78383476..7fdcc6c1e8ec 100644 --- a/report/test/generator/file-namer-test.js +++ b/report/test/generator/file-namer-test.js @@ -6,6 +6,7 @@ 'use strict'; const assert = require('assert').strict; + const getFilenamePrefix = require('../../generator/file-namer.js').getFilenamePrefix; /* eslint-env jest */ diff --git a/report/test/generator/report-generator-test.js b/report/test/generator/report-generator-test.js index 6609476f5643..32ef5c64f8d2 100644 --- a/report/test/generator/report-generator-test.js +++ b/report/test/generator/report-generator-test.js @@ -7,9 +7,11 @@ const assert = require('assert').strict; const fs = require('fs'); + +const csvValidator = require('csv-validator'); + const ReportGenerator = require('../../generator/report-generator.js'); const sampleResults = require('../../../lighthouse-core/test/results/sample_v2.json'); -const csvValidator = require('csv-validator'); /* eslint-env jest */ diff --git a/report/test/renderer/category-renderer-test.js b/report/test/renderer/category-renderer-test.js index 644d9eaa8d6e..8424ed0aba75 100644 --- a/report/test/renderer/category-renderer-test.js +++ b/report/test/renderer/category-renderer-test.js @@ -10,6 +10,7 @@ import {strict as assert} from 'assert'; import jsdom from 'jsdom'; + import {Util} from '../../renderer/util.js'; import {I18n} from '../../renderer/i18n.js'; import {DOM} from '../../renderer/dom.js'; diff --git a/report/test/renderer/components-test.js b/report/test/renderer/components-test.js index 8de0f482e773..11e81befbfe5 100644 --- a/report/test/renderer/components-test.js +++ b/report/test/renderer/components-test.js @@ -8,8 +8,10 @@ /* eslint-env jest */ import fs from 'fs'; + import jsdom from 'jsdom'; import expect from 'expect'; + import {DOM} from '../../renderer/dom.js'; import {LH_ROOT} from '../../../root.js'; import {normalizeTextNodeText} from '../../../build/build-report-components.js'; diff --git a/report/test/renderer/crc-details-renderer-test.js b/report/test/renderer/crc-details-renderer-test.js index 0ac24ddb9cd0..277ca16a29e5 100644 --- a/report/test/renderer/crc-details-renderer-test.js +++ b/report/test/renderer/crc-details-renderer-test.js @@ -10,6 +10,7 @@ import {strict as assert} from 'assert'; import jsdom from 'jsdom'; + import {Util} from '../../renderer/util.js'; import {I18n} from '../../renderer/i18n.js'; import {DOM} from '../../renderer/dom.js'; diff --git a/report/test/renderer/details-renderer-test.js b/report/test/renderer/details-renderer-test.js index aea684b73bed..e75690d49ee0 100644 --- a/report/test/renderer/details-renderer-test.js +++ b/report/test/renderer/details-renderer-test.js @@ -6,7 +6,9 @@ 'use strict'; import {strict as assert} from 'assert'; + import jsdom from 'jsdom'; + import {DOM} from '../../renderer/dom.js'; import {Util} from '../../renderer/util.js'; import {I18n} from '../../renderer/i18n.js'; diff --git a/report/test/renderer/dom-test.js b/report/test/renderer/dom-test.js index 9dd069320ab6..43fc91308513 100644 --- a/report/test/renderer/dom-test.js +++ b/report/test/renderer/dom-test.js @@ -6,9 +6,10 @@ 'use strict'; import {strict as assert} from 'assert'; -import {jest} from '@jest/globals'; +import {jest} from '@jest/globals'; import jsdom from 'jsdom'; + import {DOM} from '../../renderer/dom.js'; import {Util} from '../../renderer/util.js'; import {I18n} from '../../renderer/i18n.js'; diff --git a/report/test/renderer/i18n-test.js b/report/test/renderer/i18n-test.js index 877a90849049..8a564b2c6ed0 100644 --- a/report/test/renderer/i18n-test.js +++ b/report/test/renderer/i18n-test.js @@ -6,6 +6,7 @@ 'use strict'; import {strict as assert} from 'assert'; + import {Util} from '../../renderer/util.js'; import {I18n} from '../../renderer/i18n.js'; import {isNode12SmallIcu} from '../../../lighthouse-core/test/test-utils.js'; diff --git a/report/test/renderer/performance-category-renderer-test.js b/report/test/renderer/performance-category-renderer-test.js index 85c60315bec5..785a4ba1e609 100644 --- a/report/test/renderer/performance-category-renderer-test.js +++ b/report/test/renderer/performance-category-renderer-test.js @@ -10,6 +10,7 @@ import {strict as assert} from 'assert'; import jsdom from 'jsdom'; + import {Util} from '../../renderer/util.js'; import {I18n} from '../../renderer/i18n.js'; import URL from '../../../lighthouse-core/lib/url-shim.js'; diff --git a/report/test/renderer/pwa-category-renderer-test.js b/report/test/renderer/pwa-category-renderer-test.js index 81c2a454a9e4..e8ce6d0de490 100644 --- a/report/test/renderer/pwa-category-renderer-test.js +++ b/report/test/renderer/pwa-category-renderer-test.js @@ -10,6 +10,7 @@ import {strict as assert} from 'assert'; import jsdom from 'jsdom'; + import {Util} from '../../renderer/util.js'; import {I18n} from '../../renderer/i18n.js'; import {DOM} from '../../renderer/dom.js'; diff --git a/report/test/renderer/report-renderer-test.js b/report/test/renderer/report-renderer-test.js index dcb23d82ff3e..36dcdf1cdef5 100644 --- a/report/test/renderer/report-renderer-test.js +++ b/report/test/renderer/report-renderer-test.js @@ -10,6 +10,7 @@ import {strict as assert} from 'assert'; import jsdom from 'jsdom'; + import {Util} from '../../renderer/util.js'; import URL from '../../../lighthouse-core/lib/url-shim.js'; import {DOM} from '../../renderer/dom.js'; diff --git a/report/test/renderer/report-ui-features-test.js b/report/test/renderer/report-ui-features-test.js index 6c9588ce7e5e..b84f417d9084 100644 --- a/report/test/renderer/report-ui-features-test.js +++ b/report/test/renderer/report-ui-features-test.js @@ -8,7 +8,9 @@ /* eslint-env jest */ import {strict as assert} from 'assert'; + import jsdom from 'jsdom'; + import reportAssets from '../../generator/report-assets.js'; import {Util} from '../../renderer/util.js'; import {DOM} from '../../renderer/dom.js'; diff --git a/report/test/renderer/snippet-renderer-test.js b/report/test/renderer/snippet-renderer-test.js index 840e8d1f2950..d0a2800f29e4 100644 --- a/report/test/renderer/snippet-renderer-test.js +++ b/report/test/renderer/snippet-renderer-test.js @@ -10,6 +10,7 @@ import {strict as assert} from 'assert'; import jsdom from 'jsdom'; + import {Util} from '../../renderer/util.js'; import {I18n} from '../../renderer/i18n.js'; import {DOM} from '../../renderer/dom.js'; diff --git a/report/test/renderer/text-encoding-test.js b/report/test/renderer/text-encoding-test.js index 8fb6b15e6dfc..77ad6d12b5fb 100644 --- a/report/test/renderer/text-encoding-test.js +++ b/report/test/renderer/text-encoding-test.js @@ -6,7 +6,9 @@ 'use strict'; import fs from 'fs'; + import pako from 'pako'; + import {TextEncoding} from '../../renderer/text-encoding.js'; import {LH_ROOT} from '../../../root.js'; diff --git a/report/test/renderer/util-test.js b/report/test/renderer/util-test.js index 99d1df033bee..5b0f6087c2e4 100644 --- a/report/test/renderer/util-test.js +++ b/report/test/renderer/util-test.js @@ -6,6 +6,7 @@ 'use strict'; import {strict as assert} from 'assert'; + import {Util} from '../../renderer/util.js'; import {I18n} from '../../renderer/i18n.js'; import sampleResult from '../../../lighthouse-core/test/results/sample_v2.json'; diff --git a/yarn.lock b/yarn.lock index 12593f8c79eb..26d8645e6340 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1112,6 +1112,11 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.3.tgz#bdfd69d61e464dcc81b25159c270d75a73c1a636" integrity sha512-Il2DtDVRGDcqjDtE+rF8iqg1CArehSK84HZJCT7AMITlyXRBpuPhqGLDQMowraqqu1coEaimg4ZOqggt6L6L+A== +"@types/json5@^0.0.29": + version "0.0.29" + resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= + "@types/lodash.clonedeep@^4.5.6": version "4.5.6" resolved "https://registry.yarnpkg.com/@types/lodash.clonedeep/-/lodash.clonedeep-4.5.6.tgz#3b6c40a0affe0799a2ce823b440a6cf33571d32b" @@ -1582,6 +1587,17 @@ array-ify@^1.0.0: resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= +array-includes@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" + integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.2" + get-intrinsic "^1.1.1" + is-string "^1.0.5" + array-union@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -1604,6 +1620,15 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array.prototype.flat@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" + integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + es-abstract "^1.18.0-next.1" + arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -2945,6 +2970,13 @@ debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -3107,6 +3139,13 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" +doctrine@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== + dependencies: + esutils "^2.0.2" + doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -3262,6 +3301,29 @@ es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: string.prototype.trimstart "^1.0.4" unbox-primitive "^1.0.0" +es-abstract@^1.18.2: + version "1.18.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.5.tgz#9b10de7d4c206a3581fd5b2124233e04db49ae19" + integrity sha512-DDggyJLoS91CkJjgauM5c0yZMjiD1uK3KcaCeAmffGwZ+ODWzOkPN4QwRbsK5DOFf06fywmyLci3ZD8jLGhVYA== + dependencies: + call-bind "^1.0.2" + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + get-intrinsic "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + is-callable "^1.2.3" + is-negative-zero "^2.0.1" + is-regex "^1.1.3" + is-string "^1.0.6" + object-inspect "^1.11.0" + object-keys "^1.1.1" + object.assign "^4.1.2" + string.prototype.trimend "^1.0.4" + string.prototype.trimstart "^1.0.4" + unbox-primitive "^1.0.1" + es-to-primitive@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" @@ -3374,6 +3436,43 @@ eslint-config-google@^0.9.1: resolved "https://registry.yarnpkg.com/eslint-config-google/-/eslint-config-google-0.9.1.tgz#83353c3dba05f72bb123169a4094f4ff120391eb" integrity sha512-5A83D+lH0PA81QMESKbLJd/a3ic8tPZtwUmqNrxMRo54nfFaUvtt89q/+icQ+fd66c2xQHn0KyFkzJDoAUfpZA== +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== + dependencies: + debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz#94e5540dd15fe1522e8ffa3ec8db3b7fa7e7a534" + integrity sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q== + dependencies: + debug "^3.2.7" + pkg-dir "^2.0.0" + +eslint-plugin-import@^2.24.2: + version "2.24.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz#2c8cd2e341f3885918ee27d18479910ade7bb4da" + integrity sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q== + dependencies: + array-includes "^3.1.3" + array.prototype.flat "^1.2.4" + debug "^2.6.9" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.6.2" + find-up "^2.0.0" + has "^1.0.3" + is-core-module "^2.6.0" + minimatch "^3.0.4" + object.values "^1.1.4" + pkg-up "^2.0.0" + read-pkg-up "^3.0.0" + resolve "^1.20.0" + tsconfig-paths "^3.11.0" + eslint-plugin-local-rules@0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/eslint-plugin-local-rules/-/eslint-plugin-local-rules-0.1.0.tgz#6808bb4c1b9a432f6e54ff4dfb290073e1cdf700" @@ -3775,6 +3874,13 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + dependencies: + locate-path "^2.0.0" + find-up@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" @@ -3921,7 +4027,7 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== @@ -4199,6 +4305,13 @@ has-symbols@^1.0.1, has-symbols@^1.0.2: resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -4479,6 +4592,15 @@ insert-module-globals@^7.2.1: undeclared-identifiers "^1.1.2" xtend "^4.0.0" +internal-slot@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + dependencies: + get-intrinsic "^1.1.0" + has "^1.0.3" + side-channel "^1.0.4" + intl-messageformat-parser@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-1.8.1.tgz#0eb14c5618333be4c95c409457b66c8c33ddcc01" @@ -4560,6 +4682,13 @@ is-core-module@^2.2.0: dependencies: has "^1.0.3" +is-core-module@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" + integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -4764,6 +4893,14 @@ is-regex@^1.1.2: call-bind "^1.0.2" has-symbols "^1.0.1" +is-regex@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" + is-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" @@ -4779,6 +4916,13 @@ is-string@^1.0.5: resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== +is-string@^1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== + dependencies: + has-tostringtag "^1.0.0" + is-subset@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" @@ -5496,6 +5640,13 @@ json5@2.x, json5@^2.1.2: dependencies: minimist "^1.2.5" +json5@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" + integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + dependencies: + minimist "^1.2.0" + jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" @@ -5663,6 +5814,24 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" +load-json-file@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= + dependencies: + graceful-fs "^4.1.2" + parse-json "^4.0.0" + pify "^3.0.0" + strip-bom "^3.0.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + locate-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" @@ -6100,6 +6269,11 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + nanomatch@^1.2.9: version "1.2.9" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2" @@ -6259,6 +6433,11 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" +object-inspect@^1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + object-inspect@^1.6.0, object-inspect@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" @@ -6293,6 +6472,15 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" +object.values@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" + integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.18.2" + offset-sourcemap-lines@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/offset-sourcemap-lines/-/offset-sourcemap-lines-1.0.1.tgz#5854dff74b73fc06efcb61d7b721a8113d99be92" @@ -6370,6 +6558,13 @@ p-each-series@^2.1.0: resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== + dependencies: + p-try "^1.0.0" + p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -6384,6 +6579,13 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= + dependencies: + p-limit "^1.1.0" + p-locate@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" @@ -6405,6 +6607,11 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= + p-try@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.0.0.tgz#85080bb87c64688fa47996fe8f7dfbe8211760b1" @@ -6646,6 +6853,13 @@ pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" +pkg-dir@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" + integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= + dependencies: + find-up "^2.1.0" + pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" @@ -6653,6 +6867,13 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" + integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= + dependencies: + find-up "^2.1.0" + pn@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" @@ -6926,6 +7147,14 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" +read-pkg-up@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" + integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= + dependencies: + find-up "^2.0.0" + read-pkg "^3.0.0" + read-pkg@^1.0.0, read-pkg@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -6935,6 +7164,15 @@ read-pkg@^1.0.0, read-pkg@^1.1.0: normalize-package-data "^2.3.2" path-type "^1.0.0" +read-pkg@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= + dependencies: + load-json-file "^4.0.0" + normalize-package-data "^2.3.2" + path-type "^3.0.0" + "readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" @@ -7331,6 +7569,15 @@ shell-quote@^1.6.1: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -7711,6 +7958,11 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + strip-bom@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" @@ -8073,6 +8325,16 @@ ts-jest@^27.0.4: semver "7.x" yargs-parser "20.x" +tsconfig-paths@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== + dependencies: + "@types/json5" "^0.0.29" + json5 "^1.0.1" + minimist "^1.2.0" + strip-bom "^3.0.0" + tslib@1.9.0, tslib@^1.8.1: version "1.9.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8" @@ -8176,7 +8438,7 @@ umd@^3.0.0: resolved "https://registry.yarnpkg.com/umd/-/umd-3.0.3.tgz#aa9fe653c42b9097678489c01000acb69f0b26cf" integrity sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow== -unbox-primitive@^1.0.0: +unbox-primitive@^1.0.0, unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==