From 41512c416a80e5158752fef9ffbe722402a5ada4 Mon Sep 17 00:00:00 2001 From: Chris Breiding Date: Mon, 13 Feb 2023 11:59:29 -0500 Subject: [PATCH 01/10] feat: Bundle cy.origin() dependencies at runtime (#25626) Co-authored-by: cypress-bot[bot] <2f0651858c6e38e0+cypress-bot[bot]@users.noreply.github.com> Co-authored-by: Ryan Manuel --- cli/CHANGELOG.md | 11 +- cli/types/cypress.d.ts | 10 +- cli/types/tests/cypress-tests.ts | 17 + .../index.js | 10 + npm/webpack-preprocessor/index.ts | 104 +- .../lib/cross-origin-callback-compile.ts | 104 -- .../lib/cross-origin-callback-loader.ts | 180 --- .../lib/cross-origin-callback-store.ts | 29 - .../lib/merge-source-map.ts | 95 -- npm/webpack-preprocessor/lib/utils.ts | 22 - npm/webpack-preprocessor/package.json | 13 +- .../unit/cross-origin-callback-loader.spec.ts | 301 ----- .../test/unit/index.spec.js | 88 -- packages/config/src/options.ts | 3 +- packages/driver/cross-origin-testing.md | 2 +- .../e2e/e2e/origin/cookie_behavior.cy.ts | 115 +- .../e2e/e2e/origin/dependencies.cy.jsx | 2 +- .../cypress/e2e/e2e/origin/dependencies.cy.ts | 69 +- packages/driver/cypress/support/defaults.js | 2 +- packages/driver/src/cross-origin/cypress.ts | 15 + packages/driver/src/cross-origin/origin_fn.ts | 77 +- .../driver/src/cy/commands/origin/index.ts | 2 + packages/driver/src/cypress.ts | 5 + packages/driver/src/cypress/error_messages.ts | 19 +- packages/driver/src/cypress/stack_utils.ts | 14 +- .../frontend-shared/src/locales/en-US.json | 2 +- .../lib/cross-origin/process-callback.ts | 67 ++ packages/server/lib/experiments.ts | 2 +- .../server/lib/plugins/child/run_plugins.js | 21 - packages/server/lib/routes-e2e.ts | 27 +- packages/server/package.json | 2 + scripts/binary/binary-cleanup.js | 5 + .../e2e/cypress/e2e/cy_origin_error.cy.ts | 2 +- ...igin_experimental_dependencies_error.cy.ts | 8 - .../cypress/e2e/cross_origin.cy.js | 3 - .../passthru-preprocessor/cypress.config.js | 7 - .../cypress/e2e/cross_origin.cy.js | 8 - .../cypress/support/e2e.js | 0 .../passthru-preprocessor/primary_origin.html | 17 - .../secondary_origin.html | 1 - system-tests/test/cy_origin_error_spec.ts | 39 - .../test/typescript_spec_support_spec.ts | 1 - .../cache/darwin/snapshot-meta.json | 951 +++++++++++++++- .../cache/linux/snapshot-meta.json | 1006 +++++++++++++++- .../cache/win32/snapshot-meta.json | 1008 ++++++++++++++++- yarn.lock | 25 +- 46 files changed, 3310 insertions(+), 1201 deletions(-) delete mode 100644 npm/webpack-preprocessor/lib/cross-origin-callback-compile.ts delete mode 100644 npm/webpack-preprocessor/lib/cross-origin-callback-loader.ts delete mode 100644 npm/webpack-preprocessor/lib/cross-origin-callback-store.ts delete mode 100644 npm/webpack-preprocessor/lib/merge-source-map.ts delete mode 100644 npm/webpack-preprocessor/test/unit/cross-origin-callback-loader.spec.ts create mode 100644 packages/server/lib/cross-origin/process-callback.ts delete mode 100644 system-tests/projects/e2e/cypress/e2e/cy_origin_experimental_dependencies_error.cy.ts delete mode 100644 system-tests/projects/origin-dependencies/cypress/e2e/cross_origin.cy.js delete mode 100644 system-tests/projects/passthru-preprocessor/cypress.config.js delete mode 100644 system-tests/projects/passthru-preprocessor/cypress/e2e/cross_origin.cy.js delete mode 100644 system-tests/projects/passthru-preprocessor/cypress/support/e2e.js delete mode 100644 system-tests/projects/passthru-preprocessor/primary_origin.html delete mode 100644 system-tests/projects/passthru-preprocessor/secondary_origin.html diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 899a0ead4532..79fb86832929 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -3,17 +3,18 @@ _Released 02/14/2023 (PENDING)_ +**Features:** + +- Added the "Open in IDE" feature for failed tests reported from the Debug page. Addressed in [#25691](https://github.com/cypress-io/cypress/pull/25691). +- Added a new CLI flag, called [`--auto-cancel-after-failures`](https://docs.cypress.io/guides/guides/command-line#Options), that overrides the project-level CI ["Auto Cancellation"](https://docs.cypress.io/guides/cloud/smart-orchestration#Auto-Cancellation) value when recording to the Cloud. This gives Cloud users on Business and Enterprise plans the flexibility to alter the auto-cancellation value per run. Addressed in [#25237](https://github.com/cypress-io/cypress/pull/25237). +- Added `Cypress.require()` for including dependencies within the `cy.origin()` callback. Removed support for `require()` and `import()` within the callback. Addresses [#24976](https://github.com/cypress-io/cypress/issues/24976). + **Bugfixes:** - Fixed an issue with the Cloud project selection modal not showing the correct prompts. Fixes [#25520](https://github.com/cypress-io/cypress/issues/25520). - Fixed an issue in middleware where error-handling code could itself generate an error and fail to report the original issue. Fixes [#22825](https://github.com/cypress-io/cypress/issues/22825). - Fixed an issue that could cause the Debug page to display a different number of specs for in-progress runs than shown in Cypress Cloud. Fixes [#25647](https://github.com/cypress-io/cypress/issues/25647). -**Features:** - -- Added the "Open in IDE" feature for failed tests reported from the Debug page. Addressed in [#25691](https://github.com/cypress-io/cypress/pull/25691). -- Added a new CLI flag, called [`--auto-cancel-after-failures`](https://docs.cypress.io/guides/guides/command-line#Options), that overrides the project-level CI ["Auto Cancellation"](https://docs.cypress.io/guides/cloud/smart-orchestration#Auto-Cancellation) value when recording to the Cloud. This gives Cloud users on Business and Enterprise plans the flexibility to alter the auto-cancellation value per run. Addressed in [#25237](https://github.com/cypress-io/cypress/pull/25237). - **Misc:** - Improved the layout of the Debug Page on smaller viewports when there is a pending run. Addresses [#25664](https://github.com/cypress-io/cypress/issues/25664). diff --git a/cli/types/cypress.d.ts b/cli/types/cypress.d.ts index f18ffe8af444..09eb24d746ae 100644 --- a/cli/types/cypress.d.ts +++ b/cli/types/cypress.d.ts @@ -786,6 +786,12 @@ declare namespace Cypress { */ off: Actions + /** + * Used to include dependencies within the cy.origin() callback + * @see https://on.cypress.io/origin + */ + require: (id: string) => T + /** * Trigger action * @private @@ -793,7 +799,7 @@ declare namespace Cypress { action: (action: string, ...args: any[]) => any[] | void /** - * Load files + * Load files * @private */ onSpecWindow: (window: Window, specList: string[] | Array<() => Promise>) => void @@ -3126,7 +3132,7 @@ declare namespace Cypress { */ experimentalRunAllSpecs?: boolean /** - * Enables support for require/import within cy.origin. + * Enables support for `Cypress.require()` for including dependencies within the `cy.origin()` callback. * @default false */ experimentalOriginDependencies?: boolean diff --git a/cli/types/tests/cypress-tests.ts b/cli/types/tests/cypress-tests.ts index ec6bb1b9facc..26010d29df3a 100644 --- a/cli/types/tests/cypress-tests.ts +++ b/cli/types/tests/cypress-tests.ts @@ -1164,3 +1164,20 @@ namespace CypressTraversalTests { cy.wrap({}).parentsUntil('#myItem', 'a', { log: false, timeout: 100 }) // $ExpectType Chainable> cy.wrap({}).parentsUntil('#myItem', 'a', { log: 'true' }) // $ExpectError } + +namespace CypressRequireTests { + Cypress.require('lodash') + + const anydep = Cypress.require('anydep') + anydep // $ExpectType any + + const sinon = Cypress.require('sinon') as typeof import('sinon') + sinon // $ExpectType SinonStatic + + const lodash = Cypress.require<_.LoDashStatic>('lodash') + lodash // $ExpectType LoDashStatic + + Cypress.require() // $ExpectError + Cypress.require({}) // $ExpectError + Cypress.require(123) // $ExpectError +} diff --git a/npm/webpack-batteries-included-preprocessor/index.js b/npm/webpack-batteries-included-preprocessor/index.js index 7b28ecb09348..897a5dbecbd6 100644 --- a/npm/webpack-batteries-included-preprocessor/index.js +++ b/npm/webpack-batteries-included-preprocessor/index.js @@ -180,6 +180,16 @@ preprocessor.defaultOptions = { watchOptions: {}, } +preprocessor.getFullWebpackOptions = (filePath, typescript) => { + const options = { typescript } + + options.webpackOptions = getDefaultWebpackOptions() + + addTypeScriptConfig({ filePath }, options) + + return options.webpackOptions +} + // for testing purposes, but do not add this to the typescript interface preprocessor.__reset = webpackPreprocessor.__reset diff --git a/npm/webpack-preprocessor/index.ts b/npm/webpack-preprocessor/index.ts index c61f9bf12291..b6662dd9e2f2 100644 --- a/npm/webpack-preprocessor/index.ts +++ b/npm/webpack-preprocessor/index.ts @@ -5,21 +5,11 @@ import * as events from 'events' import * as path from 'path' import webpack from 'webpack' import utils from './lib/utils' -import { crossOriginCallbackStore } from './lib/cross-origin-callback-store' import { overrideSourceMaps } from './lib/typescript-overrides' -import { compileCrossOriginCallbackFiles } from './lib/cross-origin-callback-compile' const debug = Debug('cypress:webpack') const debugStats = Debug('cypress:webpack:stats') -declare global { - // this indicates which commands should be acted upon by the - // cross-origin-callback-loader. its absence means the loader - // should not be utilized at all - // eslint-disable-next-line no-var - var __cypressCallbackReplacementCommands: string[] | undefined -} - type FilePath = string interface BundleObject { promise: Bluebird @@ -163,8 +153,6 @@ interface WebpackPreprocessor extends WebpackPreprocessorFn { const preprocessor: WebpackPreprocessor = (options: PreprocessorOptions = {}): FilePreprocessor => { debug('user options: %o', options) - let crossOriginCallbackLoaderAdded = false - // we return function that accepts the arguments provided by // the event 'file:preprocessor' // @@ -241,25 +229,6 @@ const preprocessor: WebpackPreprocessor = (options: PreprocessorOptions = {}): F }) .value() as any - const callbackReplacementCommands = global.__cypressCallbackReplacementCommands - - if (!crossOriginCallbackLoaderAdded && !!callbackReplacementCommands) { - // webpack runs loaders last-to-first and we want ours to run last - // so that it's working with plain javascript - webpackOptions.module.rules.unshift({ - test: /\.(js|ts|jsx|tsx)$/, - exclude: /node_modules/, - use: [{ - loader: require.resolve('@cypress/webpack-preprocessor/dist/lib/cross-origin-callback-loader.js'), - options: { - commands: callbackReplacementCommands, - }, - }], - }) - - crossOriginCallbackLoaderAdded = true - } - debug('webpackOptions: %o', webpackOptions) debug('watchOptions: %o', watchOptions) if (options.typescript) debug('typescript: %s', options.typescript) @@ -327,62 +296,12 @@ const preprocessor: WebpackPreprocessor = (options: PreprocessorOptions = {}): F } debug('finished bundling', outputPath) + if (debugStats.enabled) { /* eslint-disable-next-line no-console */ console.error(stats.toString({ colors: true })) } - const resolveAllBundles = () => { - bundles[filePath].deferreds.forEach((deferred) => { - // resolve with the outputPath so Cypress knows where to serve - // the file from - deferred.resolve(outputPath) - }) - - bundles[filePath].deferreds.length = 0 - } - - // the cross-origin-callback-loader extracts any cross-origin callback - // functions that require dependencies and stores their sources - // in the CrossOriginCallbackStore. it saves the callbacks per source - // files, since that's the context it has. here we need to unfurl - // what dependencies the input source file has so we can know which - // files stored in the CrossOriginCallbackStore to compile - const handleCrossOriginCallbackFiles = () => { - // get the source file and any of its dependencies - const sourceFiles = jsonStats.modules - .filter((module) => { - // entries have duplicate modules whose ids are numbers - return _.isString(module.id) - }) - .map((module) => { - // module id is the path relative to the cwd, - // e.g. ./cypress/support/e2e.js, but we need it absolute - return path.join(process.cwd(), module.id as string) - }) - - if (!crossOriginCallbackStore.hasFilesFor(sourceFiles)) { - debug('no cross-origin callback files') - - return resolveAllBundles() - } - - compileCrossOriginCallbackFiles(crossOriginCallbackStore.getFilesFor(sourceFiles), { - originalFilePath: filePath, - webpackOptions, - }) - .then(() => { - debug('resolve all after handling cross-origin callback files') - resolveAllBundles() - }) - .catch((err) => { - rejectWithErr(err) - }) - .finally(() => { - crossOriginCallbackStore.reset(filePath) - }) - } - // seems to be a race condition where changing file before next tick // does not cause build to rerun Bluebird.delay(0).then(() => { @@ -390,11 +309,13 @@ const preprocessor: WebpackPreprocessor = (options: PreprocessorOptions = {}): F return } - if (!callbackReplacementCommands) { - return resolveAllBundles() - } + bundles[filePath].deferreds.forEach((deferred) => { + // resolve with the outputPath so Cypress knows where to serve + // the file from + deferred.resolve(outputPath) + }) - handleCrossOriginCallbackFiles() + bundles[filePath].deferreds.length = 0 }) } @@ -454,17 +375,6 @@ const preprocessor: WebpackPreprocessor = (options: PreprocessorOptions = {}): F bundler.close(cb) } } - - // clean up temp dir where cross-origin callback files are output - const tmpdir = utils.tmpdir(utils.hash(filePath)) - - debug('remove temp directory:', tmpdir) - - utils.rmdir(tmpdir).catch((err) => { - // not the end of the world if removing the tmpdir fails, but we - // don't want it to crash the whole process by going uncaught - debug('failed removing temp directory: %s', err.stack) - }) }) // return the promise, which will resolve with the outputPath or reject diff --git a/npm/webpack-preprocessor/lib/cross-origin-callback-compile.ts b/npm/webpack-preprocessor/lib/cross-origin-callback-compile.ts deleted file mode 100644 index d66606c5ca5b..000000000000 --- a/npm/webpack-preprocessor/lib/cross-origin-callback-compile.ts +++ /dev/null @@ -1,104 +0,0 @@ -import _ from 'lodash' -import Debug from 'debug' -import * as path from 'path' -import webpack from 'webpack' -import { CrossOriginCallbackStoreFile } from './cross-origin-callback-store' - -const VirtualModulesPlugin = require('webpack-virtual-modules') - -const debug = Debug('cypress:webpack') - -interface Entry { - [key: string]: string -} - -interface VirtualConfig { - [key: string]: string -} - -interface EntryConfig { - entry: Entry - virtualConfig: VirtualConfig -} - -// takes the files stored by the cross-origin-callback-loader and turns -// them into config we can pass to webpack to compile all the files. the -// virtual config allows us to just use the source we have in memory without -// needing to write it to file -const getConfig = ({ files, originalFilePath }): EntryConfig => { - const dir = path.dirname(originalFilePath) - - return files.reduce((memo, file) => { - const { inputFileName, source } = file - const inputPath = path.join(dir, inputFileName) - - memo.entry[inputFileName] = inputPath - memo.virtualConfig[inputPath] = source - - return memo - }, { entry: {}, virtualConfig: {} }) -} - -interface ConfigProperties { - webpackOptions: webpack.Configuration - entry: Entry - virtualConfig: VirtualConfig - outputDir: string -} - -const getWebpackOptions = ({ webpackOptions, entry, virtualConfig, outputDir }: ConfigProperties): webpack.Configuration => { - const modifiedWebpackOptions = _.extend({}, webpackOptions, { - entry, - output: { - path: outputDir, - }, - }) - const plugins = modifiedWebpackOptions.plugins || [] - - modifiedWebpackOptions.plugins = plugins.concat( - new VirtualModulesPlugin(virtualConfig), - ) - - return modifiedWebpackOptions -} - -interface CompileOptions { - originalFilePath: string - webpackOptions: webpack.Configuration -} - -// the cross-origin-callback-loader extracts any cy.origin() callback functions -// that includes dependencies and stores their sources in the -// CrossOriginCallbackStore. this sends those sources through webpack again -// to process any dependencies and create bundles for each callback function -export const compileCrossOriginCallbackFiles = (files: CrossOriginCallbackStoreFile[], options: CompileOptions): Promise => { - debug('compile cross-origin callback files: %o', files) - - const { originalFilePath, webpackOptions } = options - const outputDir = path.dirname(files[0].outputFilePath) - const { entry, virtualConfig } = getConfig({ files, originalFilePath }) - const modifiedWebpackOptions = getWebpackOptions({ - webpackOptions, - entry, - virtualConfig, - outputDir, - }) - - return new Promise((resolve, reject) => { - const compiler = webpack(modifiedWebpackOptions) - - const handle = (err: Error) => { - if (err) { - debug('errored compiling cross-origin callback files with: %s', err.stack) - - return reject(err) - } - - debug('successfully compiled cross-origin callback files') - - resolve() - } - - compiler.run(handle) - }) -} diff --git a/npm/webpack-preprocessor/lib/cross-origin-callback-loader.ts b/npm/webpack-preprocessor/lib/cross-origin-callback-loader.ts deleted file mode 100644 index 91d196b2a6ee..000000000000 --- a/npm/webpack-preprocessor/lib/cross-origin-callback-loader.ts +++ /dev/null @@ -1,180 +0,0 @@ -import _ from 'lodash' -import { parse } from '@babel/parser' -import { default as traverse } from '@babel/traverse' -import { default as generate } from '@babel/generator' -import { NodePath, types as t } from '@babel/core' -import * as loaderUtils from 'loader-utils' -import * as pathUtil from 'path' -import Debug from 'debug' - -import mergeSourceMaps from './merge-source-map' -import { crossOriginCallbackStore } from './cross-origin-callback-store' -import utils from './utils' - -const debug = Debug('cypress:webpack') - -// this loader makes supporting dependencies within cross-origin callbacks -// possible. if there are no dependencies (e.g. no requires/imports), it's a -// noop. otherwise: it does this by doing the following: -// - extracts the callbacks -// - the callbacks are kept in memory and then run back through webpack -// once the initial file compilation is complete -// - replaces the callbacks with objects -// - this object references the file the callback will be output to by -// its own compilation. this allows the runtime to get the file and -// run it in its origin's context. -export default function (source: string, map, meta, store = crossOriginCallbackStore) { - const { resourcePath } = this - const options = typeof this.getOptions === 'function' - ? this.getOptions() // webpack 5 - : loaderUtils.getOptions(this) // webpack 4 - const commands = (options.commands || []) as string[] - - let ast: t.File - - try { - // purposefully lenient in allowing syntax since the user can't configure - // this, but probably has their own webpack or target configured to - // handle it - ast = parse(source, { - allowImportExportEverywhere: true, - allowAwaitOutsideFunction: true, - allowSuperOutsideMethod: true, - allowUndeclaredExports: true, - sourceType: 'unambiguous', - sourceFilename: resourcePath, - }) - } catch (err) { - // it's unlikely there will be a parsing error, since that should have - // already been caught by a previous loader, but if there is and it isn't - // possible to get the AST, there's nothing we can do, so just callback - // with the original source - debug('parsing error for file (%s): %s', resourcePath, err.stack) - - this.callback(null, source, map) - - return - } - - let hasDependencies = false - - traverse(ast, { - CallExpression (path) { - const callee = path.get('callee') as NodePath - - if (!callee.isMemberExpression()) return - - // bail if we're not inside a supported command - if (!commands.includes((callee.node.property as t.Identifier).name)) { - return - } - - const lastArg = _.last(path.get('arguments')) - - // the user could try an invalid signature where the last argument is - // not a function. in this case, we'll return the unmodified code and - // it will be a runtime validation error - if ( - !lastArg || ( - !lastArg.isArrowFunctionExpression() - && !lastArg.isFunctionExpression() - ) - ) { - return - } - - // determine if there are any requires/imports within the callback - lastArg.traverse({ - CallExpression (path) { - if ( - // e.g. const dep = require('../path/to/dep') - // @ts-ignore - path.node.callee.name === 'require' - // e.g. const dep = await import('../path/to/dep') - || path.node.callee.type as string === 'Import' - ) { - hasDependencies = true - } - }, - }, this) - - if (!hasDependencies) return - - // generate the extracted callback function from an AST into a string - // and assign it to a variable. we wrap this generated code when we - // eval the code, so the variable is set up and then invoked. it ends up - // like this: - // - // let __cypressCrossOriginCallback 】added at runtime - // (function () { ┓ added by webpack - // // ... webpack stuff stuff ... ┛ - // __cypressCrossOriginCallback = (args) => { ┓ extracted callback - // const dep = require('../path/to/dep') ┃ - // // ... test stuff ... ┃ - // } ┛ - // // ... webpack stuff stuff ... ┓ added by webpack - // }()) ┛ - // __cypressCrossOriginCallback(args) 】added at runtime - // - const callbackName = '__cypressCrossOriginCallback' - const generatedCode = generate(lastArg.node, {}).code - const modifiedGeneratedCode = `${callbackName} = ${generatedCode}` - // the tmpdir path uses a hashed version of the source file path - // so that it can be cleaned up without removing other in-use tmpdirs - // (notably the support file persists between specs, so its cross-origin - // callback output files need to persist as well) - const sourcePathHash = utils.hash(resourcePath) - const outputDir = utils.tmpdir(sourcePathHash) - // use a hash of the contents in file name to ensure it's unique. if - // the contents happen to be the same, it's okay if they share a file - const codeHash = utils.hash(modifiedGeneratedCode) - const inputFileName = `cross-origin-cb-${codeHash}` - const outputFilePath = `${pathUtil.join(outputDir, inputFileName)}.js` - - store.addFile(resourcePath, { - inputFileName, - outputFilePath, - source: modifiedGeneratedCode, - }) - - // replaces callback function with object referencing the extracted - // function's callback name and output file path in the form - // { callbackName: , outputFilePath: } - // this is used at runtime when the command is run to execute the bundle - // generated for the extracted callback function - lastArg.replaceWith( - t.objectExpression([ - t.objectProperty( - t.stringLiteral('callbackName'), - t.stringLiteral(callbackName), - ), - t.objectProperty( - t.stringLiteral('outputFilePath'), - t.stringLiteral(outputFilePath), - ), - ]), - ) - }, - }) - - // if no requires/imports were found, callback with the original source/map - if (!hasDependencies) { - debug('callback with original source') - this.callback(null, source, map) - - return - } - - // if we found requires/imports, re-generate the code from the AST - const result = generate(ast, { sourceMaps: true }, { - [resourcePath]: source, - }) - // result.map needs to be merged with the original map for it to include - // the changes made in this loader. we can't return result.map because it - // is based off the intermediary code provided to the loader and not the - // original source code (which could be TypeScript or JSX or something) - const newMap = mergeSourceMaps(map, result.map) - - debug('callback with modified source') - this.callback(null, result.code, newMap) -} diff --git a/npm/webpack-preprocessor/lib/cross-origin-callback-store.ts b/npm/webpack-preprocessor/lib/cross-origin-callback-store.ts deleted file mode 100644 index 1167f26ab30a..000000000000 --- a/npm/webpack-preprocessor/lib/cross-origin-callback-store.ts +++ /dev/null @@ -1,29 +0,0 @@ -export interface CrossOriginCallbackStoreFile { - inputFileName: string - outputFilePath: string - source: string -} - -export class CrossOriginCallbackStore { - private files: { [key: string]: CrossOriginCallbackStoreFile[] } = {} - - addFile (sourceFilePath: string, file: CrossOriginCallbackStoreFile) { - this.files[sourceFilePath] = (this.files[sourceFilePath] || []).concat(file) - } - - hasFilesFor (sourceFiles: string[]) { - return !!this.getFilesFor(sourceFiles)?.length - } - - getFilesFor (sourceFiles: string[]) { - return Object.keys(this.files).reduce((files, sourceFilePath) => { - return sourceFiles.includes(sourceFilePath) ? files.concat(this.files[sourceFilePath]) : files - }, [] as CrossOriginCallbackStoreFile[]) - } - - reset (sourceFilePath: string) { - this.files[sourceFilePath] = [] - } -} - -export const crossOriginCallbackStore = new CrossOriginCallbackStore() diff --git a/npm/webpack-preprocessor/lib/merge-source-map.ts b/npm/webpack-preprocessor/lib/merge-source-map.ts deleted file mode 100644 index 4e2a6b175c3f..000000000000 --- a/npm/webpack-preprocessor/lib/merge-source-map.ts +++ /dev/null @@ -1,95 +0,0 @@ -// https://github.com/keik/merge-source-map -// -// The MIT License (MIT) - -// Copyright (c) keik - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import sourceMap from 'source-map' - -const SourceMapConsumer = sourceMap.SourceMapConsumer -const SourceMapGenerator = sourceMap.SourceMapGenerator - -/** - * Merge old source map and new source map and return merged. - * If old or new source map value is falsy, return another one as it is. - * - * @param {object|string} [oldMap] old source map object - * @param {object|string} [newmap] new source map object - * @return {object|undefined} merged source map object, or undefined when both old and new source map are undefined - */ -export default function merge (oldMap, newMap) { - if (!oldMap) return newMap - - if (!newMap) return oldMap - - const oldMapConsumer = new SourceMapConsumer(oldMap) - const newMapConsumer = new SourceMapConsumer(newMap) - const mergedMapGenerator = new SourceMapGenerator() - - // iterate on new map and overwrite original position of new map with one of old map - newMapConsumer.eachMapping(function (m) { - // pass when `originalLine` is null. - // It occurs in case that the node does not have origin in original code. - if (m.originalLine == null) return - - const origPosInOldMap = oldMapConsumer.originalPositionFor({ - line: m.originalLine, - column: m.originalColumn, - }) - - if (origPosInOldMap.source == null) return - - mergedMapGenerator.addMapping({ - original: { - line: origPosInOldMap.line, - column: origPosInOldMap.column, - }, - generated: { - line: m.generatedLine, - column: m.generatedColumn, - }, - source: origPosInOldMap.source, - name: origPosInOldMap.name, - }) - }) - - const consumers = [newMapConsumer, oldMapConsumer] - - consumers.forEach(function (consumer) { - // @ts-ignore - consumer.sources.forEach(function (sourceFile) { - // @ts-ignore - mergedMapGenerator._sources.add(sourceFile) - const sourceContent = consumer.sourceContentFor(sourceFile) - - if (sourceContent != null) { - mergedMapGenerator.setSourceContent(sourceFile, sourceContent) - } - }) - }) - - // @ts-ignore - mergedMapGenerator._sourceRoot = oldMap.sourceRoot - // @ts-ignore - mergedMapGenerator._file = oldMap.file - - return JSON.parse(mergedMapGenerator.toString()) -} diff --git a/npm/webpack-preprocessor/lib/utils.ts b/npm/webpack-preprocessor/lib/utils.ts index e51a2e723d06..9257c0194b01 100644 --- a/npm/webpack-preprocessor/lib/utils.ts +++ b/npm/webpack-preprocessor/lib/utils.ts @@ -1,9 +1,4 @@ -import _ from 'lodash' -import * as os from 'os' -import path from 'path' -import md5 from 'md5' import Bluebird from 'bluebird' -import fs from 'fs-extra' function createDeferred () { let resolve: (thenableOrResult?: T | PromiseLike | undefined) => void @@ -21,23 +16,6 @@ function createDeferred () { } } -function hash (contents: string) { - return md5(contents) -} - -function rmdir (dirPath: string) { - return fs.emptyDir(dirPath) -} - -function tmpdir (dirname?: string) { - const pathParts = _.compact([os.tmpdir(), 'cypress', 'webpack-preprocessor', dirname]) - - return path.join(...pathParts) -} - export default { createDeferred, - hash, - rmdir, - tmpdir, } diff --git a/npm/webpack-preprocessor/package.json b/npm/webpack-preprocessor/package.json index f08c70d242da..1f4888a7db43 100644 --- a/npm/webpack-preprocessor/package.json +++ b/npm/webpack-preprocessor/package.json @@ -21,20 +21,12 @@ "lint": "eslint --ext .js,.jsx,.ts,.tsx,.json, ." }, "dependencies": { - "@babel/core": "^7.0.1", - "@babel/generator": "^7.17.9", - "@babel/parser": "^7.13.0", - "@babel/traverse": "^7.17.9", "bluebird": "3.7.1", "debug": "^4.3.4", - "fs-extra": "^10.1.0", - "loader-utils": "^2.0.0", - "lodash": "^4.17.20", - "md5": "2.3.0", - "source-map": "^0.6.1", - "webpack-virtual-modules": "^0.4.4" + "lodash": "^4.17.20" }, "devDependencies": { + "@babel/core": "^7.0.1", "@babel/preset-env": "^7.0.0", "@types/mocha": "9.0.0", "@types/webpack": "^4.41.12", @@ -48,6 +40,7 @@ "deps-ok": "1.2.1", "fast-glob": "3.1.1", "find-webpack": "1.5.0", + "fs-extra": "^10.1.0", "mocha": "^7.1.0", "mockery": "2.1.0", "proxyquire": "2.1.3", diff --git a/npm/webpack-preprocessor/test/unit/cross-origin-callback-loader.spec.ts b/npm/webpack-preprocessor/test/unit/cross-origin-callback-loader.spec.ts deleted file mode 100644 index 06a334b48223..000000000000 --- a/npm/webpack-preprocessor/test/unit/cross-origin-callback-loader.spec.ts +++ /dev/null @@ -1,301 +0,0 @@ -'use strict' - -import chai, { expect } from 'chai' -import { stripIndent } from 'common-tags' -import * as sinon from 'sinon' -import sinonChai from 'sinon-chai' -import utils from '../../lib/utils' -import { CrossOriginCallbackStore } from '../../lib/cross-origin-callback-store' - -chai.use(sinonChai) - -import loader from '../../lib/cross-origin-callback-loader' - -const expectAddFileSource = (store) => { - return expect(store.addFile.lastCall.args[1].source) -} - -describe('./lib/cross-origin-callback-loader', () => { - const callLoader = (source, commands = ['origin']) => { - const store = new CrossOriginCallbackStore() - const callback = sinon.spy() - const context = { - callback, - resourcePath: '/path/to/file', - query: { commands }, - } - const originalMap = { - sources: [], - sourcesContent: [], - version: 3, - mappings: [], - } - - store.addFile = sinon.stub() - loader.call(context, source, originalMap, null, store) - - return { - store, - originalMap, - resultingSource: callback.lastCall.args[1], - resultingMap: callback.lastCall.args[2], - } - } - - beforeEach(() => { - sinon.restore() - }) - - describe('noop scenarios', () => { - it('is a noop when parsing source fails', () => { - const { originalMap, resultingSource, resultingMap, store } = callLoader(undefined) - - expect(resultingSource).to.be.undefined - expect(resultingMap).to.be.equal(originalMap) - expect(store.addFile).not.to.be.called - }) - - it('is a noop when source does not contain cy.origin()', () => { - const source = `it('test', () => { - cy.get('h1') - })` - const { originalMap, resultingSource, resultingMap, store } = callLoader(source) - - expect(resultingSource).to.be.equal(source) - expect(resultingMap).to.be.equal(originalMap) - expect(store.addFile).not.to.be.called - }) - - it('is a noop when cy.origin() callback does not contain require() or import()', () => { - const source = `it('test', () => { - cy.origin('http://www.foobar.com:3500', () => {}) - })` - const { originalMap, resultingSource, resultingMap, store } = callLoader(source) - - expect(resultingSource).to.be.equal(source) - expect(resultingMap).to.be.equal(originalMap) - expect(store.addFile).not.to.be.called - }) - - it('is a noop when last argument to cy.origin() is not a callback', () => { - const source = `it('test', () => { - cy.origin('http://www.foobar.com:3500', {}) - })` - const { originalMap, resultingSource, resultingMap, store } = callLoader(source) - - expect(resultingSource).to.be.equal(source) - expect(resultingMap).to.be.equal(originalMap) - expect(store.addFile).not.to.be.called - }) - }) - - describe('replacement scenarios', () => { - beforeEach(() => { - sinon.stub(utils, 'hash').returns('abc123') - sinon.stub(utils, 'tmpdir').returns('/path/to/tmp') - }) - - it('replaces cy.origin() callback with an object when using require()', () => { - const source = stripIndent` - it('test', () => { - cy.origin('http://www.foobar.com:3500', () => { - require('../support/utils') - }) - })` - const { originalMap, resultingSource, resultingMap } = callLoader(source) - - expect(resultingSource).to.equal(stripIndent` - it('test', () => { - cy.origin('http://www.foobar.com:3500', { - "callbackName": "__cypressCrossOriginCallback", - "outputFilePath": "/path/to/tmp/cross-origin-cb-abc123.js" - }); - });`) - - expect(resultingMap).to.exist - expect(resultingMap).not.to.equal(originalMap) - expect(resultingMap.sourcesContent[0]).to.equal(source) - }) - - it('replaces cy.origin() callback with an object when using import()', () => { - const source = stripIndent` - it('test', () => { - cy.origin('http://www.foobar.com:3500', async () => { - await import('../support/utils') - }) - })` - const { originalMap, resultingSource, resultingMap } = callLoader(source) - - expect(resultingSource).to.equal(stripIndent` - it('test', () => { - cy.origin('http://www.foobar.com:3500', { - "callbackName": "__cypressCrossOriginCallback", - "outputFilePath": "/path/to/tmp/cross-origin-cb-abc123.js" - }); - });`) - - expect(resultingMap).to.exist - expect(resultingMap).not.to.equal(originalMap) - expect(resultingMap.sourcesContent[0]).to.equal(source) - }) - - it('replaces cy.other() when specified in commands', () => { - const source = stripIndent` - it('test', () => { - cy.other('http://www.foobar.com:3500', () => { - require('../support/utils') - }) - })` - const { originalMap, resultingSource, resultingMap } = callLoader(source, ['other']) - - expect(resultingSource).to.equal(stripIndent` - it('test', () => { - cy.other('http://www.foobar.com:3500', { - "callbackName": "__cypressCrossOriginCallback", - "outputFilePath": "/path/to/tmp/cross-origin-cb-abc123.js" - }); - });`) - - expect(resultingMap).to.exist - expect(resultingMap).not.to.equal(originalMap) - expect(resultingMap.sourcesContent[0]).to.equal(source) - }) - - it('adds the file to the store, replacing require() with require()', () => { - const { store } = callLoader( - `it('test', () => { - cy.origin('http://www.foobar.com:3500', () => { - require('../support/utils') - }) - })`, - ) - - expect(store.addFile).to.be.calledWithMatch('/path/to/file', { - inputFileName: 'cross-origin-cb-abc123', - outputFilePath: '/path/to/tmp/cross-origin-cb-abc123.js', - }) - }) - - // arrow expression is implicitly tested in other tests - it('works when callback is a function expression', () => { - const { store } = callLoader( - `it('test', () => { - cy.origin('http://www.foobar.com:3500', function () { - require('../support/utils') - }) - })`, - ) - - expectAddFileSource(store).to.equal(stripIndent` - __cypressCrossOriginCallback = function () { - require('../support/utils'); - }`) - }) - - it('works when dep is not assigned to a variable', () => { - const { store } = callLoader( - `it('test', () => { - cy.origin('http://www.foobar.com:3500', () => { - require('../support/utils') - }) - })`, - ) - - expectAddFileSource(store).to.equal(stripIndent` - __cypressCrossOriginCallback = () => { - require('../support/utils'); - }`) - }) - - it('works when dep is assigned to a variable', () => { - const { store } = callLoader( - `it('test', () => { - cy.origin('http://www.foobar.com:3500', () => { - const utils = require('../support/utils') - utils.foo() - }) - })`, - ) - - expectAddFileSource(store).to.equal(stripIndent` - __cypressCrossOriginCallback = () => { - const utils = require('../support/utils'); - utils.foo(); - }`) - }) - - it('works with multiple require()s', () => { - const { store } = callLoader( - `it('test', () => { - cy.origin('http://www.foobar.com:3500', () => { - require('../support/commands') - const utils = require('../support/utils') - const _ = require('lodash') - }) - })`, - ) - - expectAddFileSource(store).to.equal(stripIndent` - __cypressCrossOriginCallback = () => { - require('../support/commands'); - const utils = require('../support/utils'); - const _ = require('lodash'); - }`) - }) - - it('works when .origin() is chained off another command', () => { - const { store } = callLoader( - `it('test', () => { - cy - .wrap({}) - .origin('http://www.foobar.com:3500', () => { - require('../support/commands') - }) - })`, - ) - - expectAddFileSource(store).to.equal(stripIndent` - __cypressCrossOriginCallback = () => { - require('../support/commands'); - }`) - }) - - it('works when result of require() is invoked', () => { - const { store } = callLoader( - `it('test', () => { - cy.origin('http://www.foobar.com:3500', () => { - const someVar = 'someValue' - const result = require('./fn')(someVar) - expect(result).to.equal('mutated someVar') - }) - })`, - ) - - expectAddFileSource(store).to.equal(stripIndent` - __cypressCrossOriginCallback = () => { - const someVar = 'someValue'; - const result = require('./fn')(someVar); - expect(result).to.equal('mutated someVar'); - }`) - }) - - it('works when dependencies passed into called', () => { - const { store } = callLoader( - `it('test', () => { - cy.origin('http://www.foobar.com:3500', { args: { foo: 'foo'}}, ({ foo }) => { - const result = require('./fn')(foo) - expect(result).to.equal('mutated someVar') - }) - })`, - ) - - expectAddFileSource(store).to.equal(stripIndent` - __cypressCrossOriginCallback = ({ - foo - }) => { - const result = require('./fn')(foo); - expect(result).to.equal('mutated someVar'); - }`) - }) - }) -}) diff --git a/npm/webpack-preprocessor/test/unit/index.spec.js b/npm/webpack-preprocessor/test/unit/index.spec.js index b22f31002618..1b3e946f40d1 100644 --- a/npm/webpack-preprocessor/test/unit/index.spec.js +++ b/npm/webpack-preprocessor/test/unit/index.spec.js @@ -23,10 +23,7 @@ mockery.enable({ mockery.registerMock('webpack', webpack) const preprocessor = require('../../index') -const utils = require('../../lib/utils').default const typescriptOverrides = require('../../lib/typescript-overrides') -const crossOriginCallbackStore = require('../../lib/cross-origin-callback-store').crossOriginCallbackStore -const crossOriginCallbackCompile = require('../../lib/cross-origin-callback-compile') describe('webpack preprocessor', function () { beforeEach(function () { @@ -68,9 +65,6 @@ describe('webpack preprocessor', function () { onClose: sinon.stub(), } - sinon.stub(utils, 'rmdir').resolves() - sinon.stub(utils, 'tmpdir').returns('/path/to/tmp/dir') - this.run = (options, file = this.file) => { return preprocessor(options)(file) } @@ -167,79 +161,6 @@ describe('webpack preprocessor', function () { }) }) - describe('cross-origin callback compilation', function () { - beforeEach(function () { - global.__cypressCallbackReplacementCommands = ['origin'] - - this.files = [] - - sinon.stub(crossOriginCallbackStore, 'hasFilesFor').returns(true) - sinon.stub(crossOriginCallbackStore, 'getFilesFor').returns(this.files) - sinon.stub(crossOriginCallbackCompile, 'compileCrossOriginCallbackFiles').resolves() - sinon.stub(crossOriginCallbackStore, 'reset') - - this.statsApi = { - hasErrors: () => false, - toJson () { - return { warnings: [], errors: [], modules: [] } - }, - } - - this.compilerApi.run.yields(null, this.statsApi) - }) - - afterEach(function () { - global.__cypressCallbackReplacementCommands = undefined - }) - - it('adds cross-origin callback loader when flag is on', function () { - const options = { webpackOptions: { devtool: false, module: { rules: [] } } } - - return this.run(options).then(() => { - expect(options.webpackOptions.module.rules[0].use[0].loader).to.include('cross-origin-callback-loader') - }) - }) - - it('runs additional compilation for cross-origin callback files', function () { - return this.run().then(() => { - expect(crossOriginCallbackCompile.compileCrossOriginCallbackFiles).to.be.calledWith(this.files) - expect(crossOriginCallbackStore.reset).to.be.called - }) - }) - - it('rejects the main bundle promise if callback file compilation errors', function () { - const err = new Error('compilation failed') - - crossOriginCallbackCompile.compileCrossOriginCallbackFiles.rejects(err) - - return this.run() - .then(() => { - throw new Error('should not resolve') - }) - .catch((_err) => { - expect(_err).to.equal(err) - expect(crossOriginCallbackStore.reset).to.be.called - }) - }) - - it('does not compile files when no commands are specified', function () { - global.__cypressCallbackReplacementCommands = undefined - - return this.run().then(() => { - expect(crossOriginCallbackStore.hasFilesFor).not.to.be.called - expect(crossOriginCallbackCompile.compileCrossOriginCallbackFiles).not.to.be.called - }) - }) - - it('does not compile files there are no files', function () { - crossOriginCallbackStore.hasFilesFor.returns(false) - - return this.run().then(() => { - expect(crossOriginCallbackCompile.compileCrossOriginCallbackFiles).not.to.be.called - }) - }) - }) - describe('devtool', function () { beforeEach((() => { sinon.stub(typescriptOverrides, 'overrideSourceMaps') @@ -386,15 +307,6 @@ describe('webpack preprocessor', function () { }) }) - it('deletes temp dir when `close` is emitted', function () { - this.compilerApi.watch.yields(null, this.statsApi) - - return this.run().then(() => { - this.file.on.withArgs('close').yield() - expect(utils.rmdir).to.be.calledWith(utils.tmpdir()) - }) - }) - it('uses default webpack options when no user options', function () { return this.run().then(() => { expect(webpack.lastCall.args[0].module.rules[0].use).to.have.length(1) diff --git a/packages/config/src/options.ts b/packages/config/src/options.ts index cf9f75c79494..2a48153160ba 100644 --- a/packages/config/src/options.ts +++ b/packages/config/src/options.ts @@ -231,7 +231,8 @@ const driverConfigOptions: Array = [ defaultValue: false, validation: validate.isBoolean, isExperimental: true, - requireRestartOnChange: 'server', + overrideLevel: 'any', + requireRestartOnChange: 'browser', }, { name: 'experimentalSourceRewriting', defaultValue: false, diff --git a/packages/driver/cross-origin-testing.md b/packages/driver/cross-origin-testing.md index 48858eb7c3b8..bd6923f072e3 100644 --- a/packages/driver/cross-origin-testing.md +++ b/packages/driver/cross-origin-testing.md @@ -194,7 +194,7 @@ We patch `XMLHttpRequest` and `fetch` client-side to capture their `withCredenti ## Dependencies -Users can utilize `require()` or (dynamic) `import()` to include dependencies. We handle the dependency resolution and bundling with the webpack preprocessor. We add a webpack loader that runs last. If we find a `require()` or `import()` call inside a `cy.origin()` callback, we extract that callback from the output code. We then run that extracted callback through webpack again, so that it gets its own output bundle with all dependencies included. The original callback is replaced with an object that references the output bundle. At runtime, when executing `cy.origin()`, it loads and executes the callback bundle. +Users can utilize `Cypress.require()` to include dependencies. It's functionally the same as the CommonJS `require()`. At runtime, before evaluating the **cy.origin()** callback, we send it to the server, replace references to `Cypress.require()` with `require()`, and run it through the default preprocessor (currently webpack) to bundle any dependencies with it. We send that bundle back to the cross-origin driver and evaluate it. ## Unsupported APIs diff --git a/packages/driver/cypress/e2e/e2e/origin/cookie_behavior.cy.ts b/packages/driver/cypress/e2e/e2e/origin/cookie_behavior.cy.ts index 9631ed5ad713..6e0965aada61 100644 --- a/packages/driver/cypress/e2e/e2e/origin/cookie_behavior.cy.ts +++ b/packages/driver/cypress/e2e/e2e/origin/cookie_behavior.cy.ts @@ -1,5 +1,16 @@ import { makeRequestForCookieBehaviorTests as makeRequest } from '../../../support/utils' +declare global { + interface Window { + makeRequest: ( + win: Cypress.AUTWindow, + url: string, + client?: 'fetch' | 'xmlHttpRequest', + credentials?: 'same-origin' | 'include' | 'omit' | boolean, + ) => Promise + } +} + describe('Cookie Behavior', { browser: '!webkit' }, () => { const serverConfig = { http: { @@ -29,12 +40,8 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { before(() => { originUrl = `${scheme}://www.foobar.com:${sameOriginPort}` - // add httpClient here globally until Cypress.require PR is merged cy.origin(`${scheme}://www.foobar.com:${sameOriginPort}`, () => { - const { makeRequestForCookieBehaviorTests: makeRequest } = require('../../../support/utils') - - // @ts-ignore - window.makeRequest = makeRequest + window.makeRequest = Cypress.require('../../../support/utils').makeRequestForCookieBehaviorTests }) }) @@ -59,11 +66,11 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { args: originUrl, }, (originUrl) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${originUrl}/set-cookie?cookie=foo1=bar1; Domain=foobar.com`, 'xmlHttpRequest')) + return cy.wrap(window.makeRequest(win, `${originUrl}/set-cookie?cookie=foo1=bar1; Domain=foobar.com`, 'xmlHttpRequest')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${originUrl}/test-request`, 'xmlHttpRequest')) + return cy.wrap(window.makeRequest(win, `${originUrl}/test-request`, 'xmlHttpRequest')) }) cy.wait('@cookieCheck') @@ -87,11 +94,11 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { // cookie jar should now mimic http://www.foobar.com:3500 / https://foobar.com:3502 as top cy.origin(originUrl, () => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, '/set-cookie?cookie=foo1=bar1; Domain=foobar.com', 'fetch')) + return cy.wrap(window.makeRequest(win, '/set-cookie?cookie=foo1=bar1; Domain=foobar.com', 'fetch')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, '/test-request', 'fetch')) + return cy.wrap(window.makeRequest(win, '/test-request', 'fetch')) }) cy.wait('@cookieCheck') @@ -114,11 +121,11 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { // cookie jar should now mimic http://www.foobar.com:3500 / https://foobar.com:3502 as top cy.origin(originUrl, () => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, '/set-cookie?cookie=foo1=bar1; Domain=foobar.com', 'fetch')) + return cy.wrap(window.makeRequest(win, '/set-cookie?cookie=foo1=bar1; Domain=foobar.com', 'fetch')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, '/test-request', 'fetch')) + return cy.wrap(window.makeRequest(win, '/test-request', 'fetch')) }) cy.wait('@cookieCheck') @@ -141,12 +148,12 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { cy.origin(originUrl, () => { cy.window().then((win) => { // set the cookie in the browser - return cy.wrap(makeRequest(win, '/set-cookie?cookie=foo1=bar1; Domain=foobar.com', 'fetch')) + return cy.wrap(window.makeRequest(win, '/set-cookie?cookie=foo1=bar1; Domain=foobar.com', 'fetch')) }) cy.window().then((win) => { // but omit the cookies in the request - return cy.wrap(makeRequest(win, '/test-request', 'fetch', 'omit')) + return cy.wrap(window.makeRequest(win, '/test-request', 'fetch', 'omit')) }) cy.wait('@cookieCheck') @@ -169,12 +176,12 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { cy.origin(originUrl, () => { cy.window().then((win) => { // do NOT set the cookie in the browser - return cy.wrap(makeRequest(win, '/set-cookie?cookie=foo1=bar1; Domain=foobar.com', 'fetch', 'omit')) + return cy.wrap(window.makeRequest(win, '/set-cookie?cookie=foo1=bar1; Domain=foobar.com', 'fetch', 'omit')) }) cy.window().then((win) => { // but send the cookies in the request - return cy.wrap(makeRequest(win, '/test-request', 'fetch')) + return cy.wrap(window.makeRequest(win, '/test-request', 'fetch')) }) cy.wait('@cookieCheck') @@ -206,12 +213,12 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, ({ scheme, crossOriginPort }) => { cy.window().then((win) => { // do NOT set the cookie in the browser - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie?cookie=foo1=bar1; Domain=foobar.com`, 'xmlHttpRequest')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie?cookie=foo1=bar1; Domain=foobar.com`, 'xmlHttpRequest')) }) cy.window().then((win) => { // but send the cookies in the request - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request`, 'xmlHttpRequest')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request`, 'xmlHttpRequest')) }) cy.wait('@cookieCheck') @@ -239,7 +246,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, ({ scheme, crossOriginPort }) => { cy.window().then((win) => { // do NOT set the cookie in the browser - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'xmlHttpRequest', true)) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'xmlHttpRequest', true)) }) // though request is cross origin, site should have access directly to cookie because it is same site @@ -258,7 +265,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { cy.window().then((win) => { // but send the cookies in the request - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request`, 'xmlHttpRequest')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request`, 'xmlHttpRequest')) }) cy.wait('@cookieCheck') @@ -286,7 +293,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, ({ scheme, crossOriginPort }) => { cy.window().then((win) => { // do NOT set the cookie in the browser - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'xmlHttpRequest', true)) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'xmlHttpRequest', true)) }) // though request is cross origin, site should have access directly to cookie because it is same site @@ -305,7 +312,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { cy.window().then((win) => { // but send the cookies in the request - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request-credentials`, 'xmlHttpRequest', true)) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request-credentials`, 'xmlHttpRequest', true)) }) cy.wait('@cookieCheck') @@ -334,11 +341,11 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, crossOriginPort }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'fetch')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'fetch')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request-credentials`, 'fetch')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request-credentials`, 'fetch')) }) cy.wait('@cookieCheck') @@ -365,7 +372,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, crossOriginPort }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'fetch', 'include')) }) // assert cookie value is actually set in the browser @@ -382,7 +389,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { // cy.getCookie('foo1').its('value').should('equal', 'bar1') cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request-credentials`, 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request-credentials`, 'fetch', 'include')) }) }) }) @@ -407,7 +414,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, crossOriginPort }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'fetch', 'include')) }) // assert cookie value is actually set in the browser @@ -424,7 +431,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { // cy.getCookie('foo1').its('value').should('equal', 'bar1') cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request-credentials`, 'fetch')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request-credentials`, 'fetch')) }) cy.wait('@cookieCheck') @@ -451,11 +458,11 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, crossOriginPort }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'fetch', 'omit')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=foo1=bar1; Domain=foobar.com`, 'fetch', 'omit')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request-credentials`, 'fetch', 'omit')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request-credentials`, 'fetch', 'omit')) }) cy.wait('@cookieCheck') @@ -486,11 +493,11 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, sameOriginPort }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie?cookie=bar1=baz1; Domain=barbaz.com`, 'xmlHttpRequest')) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie?cookie=bar1=baz1; Domain=barbaz.com`, 'xmlHttpRequest')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request`, 'xmlHttpRequest')) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request`, 'xmlHttpRequest')) }) cy.wait('@cookieCheck') @@ -519,7 +526,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, sameOriginPort }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie-credentials?cookie=bar1=baz1; Domain=barbaz.com; SameSite=None; Secure`, 'xmlHttpRequest', true)) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie-credentials?cookie=bar1=baz1; Domain=barbaz.com; SameSite=None; Secure`, 'xmlHttpRequest', true)) }) // assert cookie value is actually set in the browser @@ -535,7 +542,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { } cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request`, 'xmlHttpRequest')) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request`, 'xmlHttpRequest')) }) cy.wait('@cookieCheck') @@ -562,7 +569,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, sameOriginPort }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie-credentials?cookie=bar1=baz1; Domain=barbaz.com; SameSite=None; Secure`, 'xmlHttpRequest', true)) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie-credentials?cookie=bar1=baz1; Domain=barbaz.com; SameSite=None; Secure`, 'xmlHttpRequest', true)) }) // FIXME: cy.getCookie does not believe this cookie exists. Should be fixed in https://github.com/cypress-io/cypress/pull/23643. @@ -573,7 +580,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { // cy.getCookie('bar1').its('value').should('equal', 'baz1') cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request-credentials`, 'xmlHttpRequest', true)) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request-credentials`, 'xmlHttpRequest', true)) }) cy.wait('@cookieCheck') @@ -605,13 +612,13 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, sameOriginPort, credentialOption }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie?cookie=bar1=baz1; Domain=barbaz.com`, 'fetch', credentialOption as 'same-origin' | 'omit')) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie?cookie=bar1=baz1; Domain=barbaz.com`, 'fetch', credentialOption as 'same-origin' | 'omit')) }) cy.getCookie('bar1').should('equal', null) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request`, 'fetch', credentialOption as 'same-origin' | 'omit')) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request`, 'fetch', credentialOption as 'same-origin' | 'omit')) }) cy.wait('@cookieCheck') @@ -639,7 +646,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, sameOriginPort, credentialOption }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie-credentials?cookie=bar1=baz1; Domain=barbaz.com; SameSite=None; Secure`, 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie-credentials?cookie=bar1=baz1; Domain=barbaz.com; SameSite=None; Secure`, 'fetch', 'include')) }) // assert cookie value is actually set in the browser @@ -655,7 +662,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { } cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request`, 'fetch', credentialOption as 'same-origin' | 'omit')) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request`, 'fetch', credentialOption as 'same-origin' | 'omit')) }) cy.wait('@cookieCheck') @@ -685,7 +692,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, sameOriginPort }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie-credentials?cookie=bar1=baz1; Domain=barbaz.com; SameSite=None; Secure`, 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/set-cookie-credentials?cookie=bar1=baz1; Domain=barbaz.com; SameSite=None; Secure`, 'fetch', 'include')) }) // assert cookie value is actually set in the browser @@ -698,7 +705,7 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { // cy.getCookie('bar1').its('value').should('equal', 'baz1') cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request-credentials`, 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, `${scheme}://www.barbaz.com:${sameOriginPort}/test-request-credentials`, 'fetch', 'include')) }) cy.wait('@cookieCheck') @@ -730,20 +737,20 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, crossOriginPort }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, '/set-cookie?cookie=foo=bar; Domain=www.foobar.com', 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, '/set-cookie?cookie=foo=bar; Domain=www.foobar.com', 'fetch', 'include')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=bar=baz; Domain=.foobar.com`, 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=bar=baz; Domain=.foobar.com`, 'fetch', 'include')) }) // Cookie should not be sent with app.foobar.com:3500/test as it does NOT fit the domain cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=baz=quux; Domain=app.foobar.com`, 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/set-cookie-credentials?cookie=baz=quux; Domain=app.foobar.com`, 'fetch', 'include')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request`, 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${crossOriginPort}/test-request`, 'fetch', 'include')) }) cy.wait('@cookieCheck') @@ -770,15 +777,15 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, sameOriginPort }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, '/set-cookie?cookie=foo=bar; Domain=www.foobar.com', 'fetch')) + return cy.wrap(window.makeRequest(win, '/set-cookie?cookie=foo=bar; Domain=www.foobar.com', 'fetch')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `/set-cookie?cookie=bar=baz; Domain=.foobar.com`, 'fetch')) + return cy.wrap(window.makeRequest(win, `/set-cookie?cookie=bar=baz; Domain=.foobar.com`, 'fetch')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://app.foobar.com:${sameOriginPort}/test-request-credentials`, 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, `${scheme}://app.foobar.com:${sameOriginPort}/test-request-credentials`, 'fetch', 'include')) }) cy.wait('@cookieCheck') @@ -803,15 +810,15 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { // cookie jar should now mimic http://www.foobar.com:3500 / https://foobar.com:3502 as top cy.origin(originUrl, () => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, '/set-cookie?cookie=foo=bar; Domain=www.foobar.com; Path=/', 'fetch')) + return cy.wrap(window.makeRequest(win, '/set-cookie?cookie=foo=bar; Domain=www.foobar.com; Path=/', 'fetch')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `/set-cookie?cookie=bar=baz; Domain=.foobar.com; Path=/test-request`, 'fetch')) + return cy.wrap(window.makeRequest(win, `/set-cookie?cookie=bar=baz; Domain=.foobar.com; Path=/test-request`, 'fetch')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `/test-request`, 'fetch')) + return cy.wrap(window.makeRequest(win, `/test-request`, 'fetch')) }) cy.wait('@cookieCheck') @@ -840,17 +847,17 @@ describe('Cookie Behavior', { browser: '!webkit' }, () => { }, }, ({ scheme, sameOriginPort }) => { cy.window().then((win) => { - return cy.wrap(makeRequest(win, `/set-cookie?cookie=foo=bar; Domain=www.foobar.com`, 'fetch')) + return cy.wrap(window.makeRequest(win, `/set-cookie?cookie=foo=bar; Domain=www.foobar.com`, 'fetch')) }) cy.wait(200) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `/set-cookie?cookie=bar=baz; Domain=.foobar.com`, 'fetch')) + return cy.wrap(window.makeRequest(win, `/set-cookie?cookie=bar=baz; Domain=.foobar.com`, 'fetch')) }) cy.window().then((win) => { - return cy.wrap(makeRequest(win, `${scheme}://www.foobar.com:${sameOriginPort}/test-request`, 'fetch', 'include')) + return cy.wrap(window.makeRequest(win, `${scheme}://www.foobar.com:${sameOriginPort}/test-request`, 'fetch', 'include')) }) cy.wait('@cookieCheck') diff --git a/packages/driver/cypress/e2e/e2e/origin/dependencies.cy.jsx b/packages/driver/cypress/e2e/e2e/origin/dependencies.cy.jsx index b88604253101..872827dcfadc 100644 --- a/packages/driver/cypress/e2e/e2e/origin/dependencies.cy.jsx +++ b/packages/driver/cypress/e2e/e2e/origin/dependencies.cy.jsx @@ -6,7 +6,7 @@ describe('cy.origin dependencies - jsx', { browser: '!webkit' }, () => { it('works with a jsx file', () => { cy.origin('http://www.foobar.com:3500', () => { - const lodash = require('lodash') + const lodash = Cypress.require('lodash') expect(lodash.get({ foo: 'foo' }, 'foo')).to.equal('foo') }) diff --git a/packages/driver/cypress/e2e/e2e/origin/dependencies.cy.ts b/packages/driver/cypress/e2e/e2e/origin/dependencies.cy.ts index 4834b7608e8d..5c9eeabe0bd1 100644 --- a/packages/driver/cypress/e2e/e2e/origin/dependencies.cy.ts +++ b/packages/driver/cypress/e2e/e2e/origin/dependencies.cy.ts @@ -1,29 +1,29 @@ +import type { LoDashStatic } from 'lodash' + describe('cy.origin dependencies', { browser: '!webkit' }, () => { beforeEach(() => { cy.visit('/fixtures/primary-origin.html') cy.get('a[data-cy="cross-origin-secondary-link"]').click() }) - it('works with require()', () => { + it('works', () => { cy.origin('http://www.foobar.com:3500', () => { - const lodash = require('lodash') - - expect(lodash.get({ foo: 'foo' }, 'foo')).to.equal('foo') - }) - }) - - it('works with dynamic import()', () => { - cy.origin('http://www.foobar.com:3500', async () => { - const lodash = await import('lodash') - - expect(lodash.get({ foo: 'foo' }, 'foo')).to.equal('foo') + // default type: any + const lodash1 = Cypress.require('lodash') + // 2 ways of getting the proper type + const lodash2 = Cypress.require('lodash') as typeof import('lodash') + const lodash3 = Cypress.require('lodash') + + expect(lodash1.get({ foo: 'foo' }, 'foo')).to.equal('foo') + expect(lodash2.get({ foo: 'foo' }, 'foo')).to.equal('foo') + expect(lodash3.get({ foo: 'foo' }, 'foo')).to.equal('foo') }) }) it('works with an arrow function', () => { cy.origin('http://www.foobar.com:3500', () => { - const lodash = require('lodash') - const dayjs = require('dayjs') + const lodash = Cypress.require('lodash') + const dayjs = Cypress.require('dayjs') expect(lodash.get({ foo: 'foo' }, 'foo')).to.equal('foo') expect(dayjs('2022-07-29 12:00:00').format('MMMM D, YYYY')).to.equal('July 29, 2022') @@ -34,7 +34,7 @@ describe('cy.origin dependencies', { browser: '!webkit' }, () => { it('works with a function expression', () => { cy.origin('http://www.foobar.com:3500', function () { - const lodash = require('lodash') + const lodash = Cypress.require('lodash') expect(lodash.get({ foo: 'foo' }, 'foo')).to.equal('foo') }) @@ -42,7 +42,7 @@ describe('cy.origin dependencies', { browser: '!webkit' }, () => { it('works with options object + args', () => { cy.origin('http://www.foobar.com:3500', { args: ['arg1'] }, ([arg1]) => { - const lodash = require('lodash') + const lodash = Cypress.require('lodash') expect(lodash.get({ foo: 'foo' }, 'foo')).to.equal('foo') expect(arg1).to.equal('arg1') @@ -51,7 +51,7 @@ describe('cy.origin dependencies', { browser: '!webkit' }, () => { it('works with a yielded value', () => { cy.origin('http://www.foobar.com:3500', () => { - const lodash = require('lodash') + const lodash = Cypress.require('lodash') expect(lodash.get({ foo: 'foo' }, 'foo')).to.equal('foo') @@ -62,18 +62,16 @@ describe('cy.origin dependencies', { browser: '!webkit' }, () => { it('works with a returned value', () => { cy.origin('http://www.foobar.com:3500', () => { - const lodash = require('lodash') + const { add } = Cypress.require('./dependencies.support-esm') - expect(lodash.get({ foo: 'foo' }, 'foo')).to.equal('foo') - - return 'returned value' + return add(1, 2) }) - .should('equal', 'returned value') + .should('equal', 3) }) it('works with multiple cy.origin calls', () => { cy.origin('http://www.foobar.com:3500', () => { - const lodash = require('lodash') + const lodash = Cypress.require('lodash') expect(lodash.get({ foo: 'foo' }, 'foo')).to.equal('foo') @@ -81,7 +79,7 @@ describe('cy.origin dependencies', { browser: '!webkit' }, () => { }) cy.origin('http://www.idp.com:3500', () => { - const dayjs = require('dayjs') + const dayjs = Cypress.require('dayjs') expect(dayjs('2022-07-29 12:00:00').format('MMMM D, YYYY')).to.equal('July 29, 2022') }) @@ -89,7 +87,7 @@ describe('cy.origin dependencies', { browser: '!webkit' }, () => { it('works with a relative esm dependency', () => { cy.origin('http://www.foobar.com:3500', () => { - const { add } = require('./dependencies.support-esm') + const { add } = Cypress.require('./dependencies.support-esm') expect(add(1, 2)).to.equal(3) }) @@ -97,7 +95,7 @@ describe('cy.origin dependencies', { browser: '!webkit' }, () => { it('works with a relative commonjs dependency', () => { cy.origin('http://www.foobar.com:3500', () => { - const { add } = require('./dependencies.support-commonjs') + const { add } = Cypress.require('./dependencies.support-commonjs') expect(add(1, 2)).to.equal(3) }) @@ -107,7 +105,7 @@ describe('cy.origin dependencies', { browser: '!webkit' }, () => { const args = ['some string'] cy.origin('http://www.foobar.com:3500', { args }, ([arg1]) => { - const result = require('./dependencies.support-commonjs')(arg1) + const result = Cypress.require('./dependencies.support-commonjs')(arg1) expect(result).to.equal('some_string') }) @@ -126,13 +124,26 @@ describe('cy.origin dependencies', { browser: '!webkit' }, () => { }) describe('errors', () => { - it('when dependency does not exist', () => { + it('when dependency does not exist', (done) => { cy.on('fail', (err) => { expect(err.message).to.include('Cannot find module') + done() + }) + + cy.origin('http://www.foobar.com:3500', () => { + Cypress.require('./does-not-exist') + }) + }) + + // @ts-ignore + it('when experimental flag is disabled', { experimentalOriginDependencies: false }, (done) => { + cy.on('fail', (err) => { + expect(err.message).to.include('Using `Cypress.require()` requires enabling the `experimentalOriginDependencies` flag.') + done() }) cy.origin('http://www.foobar.com:3500', () => { - require('./does-not-exist') + Cypress.require('lodash') }) }) }) diff --git a/packages/driver/cypress/support/defaults.js b/packages/driver/cypress/support/defaults.js index 2b0396c80b08..332f3834cc22 100644 --- a/packages/driver/cypress/support/defaults.js +++ b/packages/driver/cypress/support/defaults.js @@ -36,6 +36,6 @@ beforeEach(() => { // support file work properly Cypress.Commands.add('originLoadUtils', (origin) => { cy.origin(origin, () => { - require('./utils') + Cypress.require('./utils') }) }) diff --git a/packages/driver/src/cross-origin/cypress.ts b/packages/driver/src/cross-origin/cypress.ts index ee206d43416b..5b07d66ea363 100644 --- a/packages/driver/src/cross-origin/cypress.ts +++ b/packages/driver/src/cross-origin/cypress.ts @@ -8,6 +8,7 @@ import $Cypress from '../cypress' import { $Cy } from '../cypress/cy' import { $Location } from '../cypress/location' import $Commands from '../cypress/commands' +import $errUtils from '../cypress/error_utils' import { create as createLog } from '../cypress/log' import { bindToListeners } from '../cy/listeners' import { handleOriginFn } from './origin_fn' @@ -135,6 +136,20 @@ const setup = (cypressConfig: Cypress.Config, env: Cypress.ObjectLike) => { // @ts-ignore Cypress.isCy = cy.isCy + // this is "valid" inside the cy.origin() callback (as long as the experimental + // flag is enabled), but it should be replaced by the preprocessor at runtime + // with an actual require() before it's run in the browser. if it's not, + // something unexpected has gone wrong + // @ts-expect-error + Cypress.require = () => { + // @ts-ignore + if (!Cypress.config('experimentalOriginDependencies')) { + $errUtils.throwErrByPath('require.invalid_without_flag') + } + + $errUtils.throwErrByPath('require.invalid_inside_origin') + } + handleOriginFn(Cypress, cy) handleLogs(Cypress) handleSocketEvents(Cypress) diff --git a/packages/driver/src/cross-origin/origin_fn.ts b/packages/driver/src/cross-origin/origin_fn.ts index 8893d9325540..b4966858bfe8 100644 --- a/packages/driver/src/cross-origin/origin_fn.ts +++ b/packages/driver/src/cross-origin/origin_fn.ts @@ -5,18 +5,13 @@ import { $Location } from '../cypress/location' import { syncConfigToCurrentOrigin, syncEnvToCurrentOrigin } from '../util/config' import type { Runnable, Test } from 'mocha' import { LogUtils } from '../cypress/log' -import $networkUtils from '../cypress/network_utils' - -interface CrossOriginCallbackObject { - callbackName: string - outputFilePath: string -} interface RunOriginFnOptions { config: Cypress.Config args: any env: Cypress.ObjectLike - fn: string | CrossOriginCallbackObject + file?: string + fn: string skipConfigValidation: boolean state: {} logCounter: number @@ -66,6 +61,49 @@ const rehydrateRunnable = (data: serializedRunnable): Runnable|Test => { return runnable } +// Callback function handling / preprocessing for dependencies +// --- +// 1. If experimentalOriginDependencies is disabled or the string "Cypress.require" +// does not exist in the callback, just eval the callback as-is +// 2. Otherwise, we send it to the server +// 3. The server webpacks the callback to bundle in all the deps, then returns +// that bundle +// 4. Eval the callback like normal +const getCallbackFn = async (fn: string, file?: string) => { + if ( + // @ts-expect-error + !Cypress.config('experimentalOriginDependencies') + || !fn.includes('Cypress.require') + ) { + return fn + } + + // Since webpack will wrap everything up in a closure, we create a variable + // in the outer scope (see the return value below), assign the function to it + // in the inner scope, then call the function with the args + const callbackName = '__cypressCallback' + const response = await fetch('/__cypress/process-origin-callback', { + body: JSON.stringify({ file, fn: `${callbackName} = ${fn};` }), + headers: { + 'Content-Type': 'application/json', + }, + method: 'POST', + }) + const result = await response.json() as GetFileResult + + if (result.error) { + $errUtils.throwErrByPath('origin.failed_to_get_callback', { + args: { error: result.error }, + }) + } + + return `(args) => { + let ${callbackName}; + ${result.contents}; + return ${callbackName}(args); + }` +} + export const handleOriginFn = (Cypress: Cypress.Cypress, cy: $Cy) => { const reset = (state) => { cy.reset({}) @@ -98,7 +136,7 @@ export const handleOriginFn = (Cypress: Cypress.Cypress, cy: $Cy) => { } Cypress.specBridgeCommunicator.on('run:origin:fn', async (options: RunOriginFnOptions) => { - const { config, args, env, fn, state, skipConfigValidation, logCounter } = options + const { config, args, env, file, fn, state, skipConfigValidation, logCounter } = options let queueFinished = false @@ -139,27 +177,8 @@ export const handleOriginFn = (Cypress: Cypress.Cypress, cy: $Cy) => { }) try { - let value - - if (_.isString(fn)) { - value = window.eval(`(${fn})`)(args) - } else { - const { callbackName, outputFilePath } = fn - const rawResult = await $networkUtils.fetch(`/__cypress/get-file/${encodeURIComponent(outputFilePath)}`) as string - const result = JSON.parse(rawResult) as GetFileResult - - if (result.error) { - $errUtils.throwErrByPath('origin.failed_to_get_callback', { - args: { error: result.error }, - }) - } - - value = window.eval(`(args) => { - let ${callbackName}; - ${result.contents} - return ${callbackName}(args); - }`)(args) - } + const callback = await getCallbackFn(fn, file) + const value = window.eval(`(${callback})`)(args) // If we detect a non promise value with commands in queue, throw an error if (value && cy.queue.length > 0 && !value.then) { diff --git a/packages/driver/src/cy/commands/origin/index.ts b/packages/driver/src/cy/commands/origin/index.ts index 45e405800586..e71132398b9f 100644 --- a/packages/driver/src/cy/commands/origin/index.ts +++ b/packages/driver/src/cy/commands/origin/index.ts @@ -183,6 +183,7 @@ export default (Commands, Cypress: Cypress.Cypress, cy: Cypress.cy, state: State communicator.toSpecBridge(origin, 'attach:to:window') const fn = _.isFunction(callbackFn) ? callbackFn.toString() : callbackFn + const file = $stackUtils.getSourceDetailsForFirstLine(userInvocationStack, config('projectRoot'))?.absoluteFile // once the secondary origin page loads, send along the // user-specified callback to run in that origin @@ -190,6 +191,7 @@ export default (Commands, Cypress: Cypress.Cypress, cy: Cypress.cy, state: State communicator.toSpecBridge(origin, 'run:origin:fn', { args: options?.args || undefined, fn, + file, // let the spec bridge version of Cypress know if config read-only values can be overwritten since window.top cannot be accessed in cross-origin iframes // this should only be used for internal testing. Cast to boolean to guarantee serialization // @ts-ignore diff --git a/packages/driver/src/cypress.ts b/packages/driver/src/cypress.ts index 2d0ded980238..d8141ee19c4b 100644 --- a/packages/driver/src/cypress.ts +++ b/packages/driver/src/cypress.ts @@ -772,6 +772,11 @@ class $Cypress { return throwPrivateCommandInterface('addUtilityCommand') } + // Cypress.require() is only valid inside the cy.origin() callback + require () { + $errUtils.throwErrByPath('require.invalid_outside_origin') + } + get currentTest () { const r = this.cy.state('runnable') diff --git a/packages/driver/src/cypress/error_messages.ts b/packages/driver/src/cypress/error_messages.ts index f89958dd2d8a..a730d87826a4 100644 --- a/packages/driver/src/cypress/error_messages.ts +++ b/packages/driver/src/cypress/error_messages.ts @@ -1232,9 +1232,7 @@ export default { Variables must either be defined within the ${cmd('origin')} command or passed in using the args option. - Using \`require()\` or \`import()\` to include dependencies requires enabling the \`experimentalOriginDependencies\` flag and using the latest version of \`@cypress/webpack-preprocessor\`. - - Note: Using \`require()\` or \`import()\` within ${cmd('origin')} from a \`node_modules\` plugin is not currently supported.`, + Using \`require()\` or \`import()\` within the ${cmd('origin')} callback is not supported. Use ${cmd('Cypress.require')} to include dependencies instead, but note that it currently requires enabling the \`experimentalOriginDependencies\` flag.`, }, callback_mixes_sync_and_async: { message: stripIndent`\ @@ -1490,6 +1488,21 @@ export default { }, }, + require: { + invalid_inside_origin: { + message: `${cmd('Cypress.require')} is supposed to be replaced with a \`require()\` statement before the test code using it is run. If this error is being thrown, something unexpected has occurred. Please submit an issue.`, + docsUrl: 'https://on.cypress.io/origin', + }, + invalid_outside_origin: { + message: `${cmd('Cypress.require')} can only be used inside the ${cmd('origin')} callback and requires enabling the \`experimentalOriginDependencies\` flag.`, + docsUrl: 'https://on.cypress.io/origin', + }, + invalid_without_flag: { + message: `Using ${cmd('Cypress.require')} requires enabling the \`experimentalOriginDependencies\` flag.`, + docsUrl: 'https://on.cypress.io/origin', + }, + }, + route: { removed (obj) { return { diff --git a/packages/driver/src/cypress/stack_utils.ts b/packages/driver/src/cypress/stack_utils.ts index 1b838f9b6404..641179f995af 100644 --- a/packages/driver/src/cypress/stack_utils.ts +++ b/packages/driver/src/cypress/stack_utils.ts @@ -100,7 +100,7 @@ const stackWithUserInvocationStackSpliced = (err, userInvocationStack): StackAnd } } -type InvocationDetails = LineDetail | {} +type InvocationDetails = MessageLineDetail | {} const getInvocationDetails = (specWindow, config) => { if (specWindow.Error) { @@ -305,12 +305,12 @@ const stripCustomProtocol = (filePath) => { return filePath.replace(customProtocolRegex, '') } -type LineDetail = -{ +interface MessageLineDetail { message: any whitespace: any -} | -{ +} + +interface StackLineDetail { function: any fileUrl: any originalFile: any @@ -321,7 +321,7 @@ type LineDetail = whitespace: any } -const getSourceDetailsForLine = (projectRoot, line): LineDetail => { +const getSourceDetailsForLine = (projectRoot, line): MessageLineDetail | StackLineDetail => { const whitespace = getWhitespace(line) const generatedDetails = parseLine(line) @@ -382,7 +382,7 @@ const getSourceDetailsForFirstLine = (stack, projectRoot) => { if (!line) return - return getSourceDetailsForLine(projectRoot, line) + return getSourceDetailsForLine(projectRoot, line) as StackLineDetail } const reconstructStack = (parsedStack) => { diff --git a/packages/frontend-shared/src/locales/en-US.json b/packages/frontend-shared/src/locales/en-US.json index 73a759357e2c..8502fb44c0c1 100644 --- a/packages/frontend-shared/src/locales/en-US.json +++ b/packages/frontend-shared/src/locales/en-US.json @@ -526,7 +526,7 @@ }, "experimentalOriginDependencies": { "name": "Origin Dependencies", - "description": "Enables support for `require`/`import` within `cy.origin`." + "description": "Enables support for `Cypress.require()` for including dependencies within the `cy.origin()` callback." }, "experimentalMemoryManagement": { "name": "Memory Management", diff --git a/packages/server/lib/cross-origin/process-callback.ts b/packages/server/lib/cross-origin/process-callback.ts new file mode 100644 index 000000000000..6db08cabeb01 --- /dev/null +++ b/packages/server/lib/cross-origin/process-callback.ts @@ -0,0 +1,67 @@ +import { getFullWebpackOptions } from '@cypress/webpack-batteries-included-preprocessor' +import md5 from 'md5' +import { fs } from 'memfs' +import * as path from 'path' +import webpack from 'webpack' + +const VirtualModulesPlugin = require('webpack-virtual-modules') + +interface Options { + file: string + fn: string +} + +// @ts-expect-error - webpack expects `fs.join` to exist for some reason +fs.join = path.join + +export const processCallback = ({ file, fn }: Options) => { + const source = fn.replace(/Cypress\.require/g, 'require') + const webpackOptions = getFullWebpackOptions(file, require.resolve('typescript')) + + const inputFileName = md5(source) + const inputDir = path.dirname(file) + const inputPath = path.join(inputDir, inputFileName) + const outputDir = '/' + const outputFileName = 'output' + const outputPath = `${outputDir}${outputFileName}.js` + + const modifiedWebpackOptions = { + ...webpackOptions, + entry: { + [outputFileName]: inputPath, + }, + output: { + path: outputDir, + }, + plugins: [ + new VirtualModulesPlugin({ + [inputPath]: source, + }), + new webpack.optimize.LimitChunkCountPlugin({ + maxChunks: 1, + }), + ], + } + + const compiler = webpack(modifiedWebpackOptions) + + // @ts-expect-error + compiler.outputFileSystem = fs + + return new Promise((resolve, reject) => { + const handle = (err: Error) => { + if (err) { + return reject(err) + } + + // Using an in-memory file system, so the usual restrictions on sync + // methods don't apply, since this won't throw an EMFILE error + // eslint-disable-next-line no-restricted-syntax + const result = fs.readFileSync(outputPath).toString() + + resolve(result) + } + + compiler.run(handle) + }) +} diff --git a/packages/server/lib/experiments.ts b/packages/server/lib/experiments.ts index 3cc0bf87a0f8..078877a0f3ea 100644 --- a/packages/server/lib/experiments.ts +++ b/packages/server/lib/experiments.ts @@ -60,7 +60,7 @@ const _summaries: StringValues = { experimentalStudio: 'Generate and save commands directly to your test suite by interacting with your app as an end user would.', experimentalWebKitSupport: 'Adds support for testing in the WebKit browser engine used by Safari. See https://on.cypress.io/webkit-experiment for more information.', experimentalRunAllSpecs: 'Enables the "Run All Specs" UI feature, allowing the execution of multiple specs sequentially', - experimentalOriginDependencies: 'Enables support for `require`/`import` within `cy.origin`', + experimentalOriginDependencies: 'Enables support for `Cypress.require()` for including dependencies within the `cy.origin()` callback.', experimentalMemoryManagement: 'Enables support for improved memory management within Chromium-based browsers.', } diff --git a/packages/server/lib/plugins/child/run_plugins.js b/packages/server/lib/plugins/child/run_plugins.js index dc5e0564157b..4e7fee4afef1 100644 --- a/packages/server/lib/plugins/child/run_plugins.js +++ b/packages/server/lib/plugins/child/run_plugins.js @@ -126,14 +126,6 @@ class RunPlugins { .then((modifiedCfg) => { debug('plugins file successfully loaded') - // if the experimentalOriginDependencies flag is true, specify which - // commands should (potentially) have their callbacks replaced. this is - // currently used by the webpack preprocessor. see its implementation for - // more details - if (this._getExperimentalOriginDependenciesValue(initialConfig, modifiedCfg)) { - global.__cypressCallbackReplacementCommands = ['origin'] - } - this.ipc.send('setupTestingType:reply', { setupConfig: modifiedCfg, registrations: this.registrations, @@ -151,19 +143,6 @@ class RunPlugins { }) } - _getExperimentalOriginDependenciesValue (initialConfig, modifiedConfig) { - // prefer the modified value if it's specified - if ( - typeof modifiedConfig === 'object' - && typeof modifiedConfig.experimentalOriginDependencies === 'boolean' - ) { - return modifiedConfig.experimentalOriginDependencies - } - - // otherwise, use the initial value - return initialConfig.experimentalOriginDependencies - } - execute (event, ids, args = []) { debug(`execute plugin event: ${event} (%o)`, ids) diff --git a/packages/server/lib/routes-e2e.ts b/packages/server/lib/routes-e2e.ts index cadce9c5eec4..b75efd74208a 100644 --- a/packages/server/lib/routes-e2e.ts +++ b/packages/server/lib/routes-e2e.ts @@ -1,7 +1,8 @@ -import fs from 'fs-extra' -import path from 'path' +import bodyParser from 'body-parser' import Debug from 'debug' import { Router } from 'express' +import fs from 'fs-extra' +import path from 'path' import AppData from './util/app_data' import CacheBuster from './util/cache_buster' @@ -10,6 +11,7 @@ import reporter from './controllers/reporter' import client from './controllers/client' import files from './controllers/files' import type { InitializeRoutes } from './routes' +import { processCallback } from './cross-origin/process-callback' const debug = Debug('cypress:server:routes-e2e') @@ -17,6 +19,7 @@ export const createRoutesE2E = ({ config, networkProxy, onError, + getSpec, }: InitializeRoutes) => { const routesE2E = Router() @@ -49,6 +52,26 @@ export const createRoutesE2E = ({ } }) + routesE2E.post(`/${config.namespace}/process-origin-callback`, bodyParser.json(), async (req, res) => { + try { + const { file, fn } = req.body + + debug('process origin callback: %s', fn) + + const contents = await processCallback({ file, fn }) + + res.json({ contents }) + } catch (err) { + const errorMessage = `Processing the origin callback errored:\n\n${err.stack}` + + debug(errorMessage) + + res.json({ + error: errorMessage, + }) + } + }) + routesE2E.get(`/${config.namespace}/socket.io.js`, (req, res) => { client.handle(req, res) }) diff --git a/packages/server/package.json b/packages/server/package.json index f9b4642b03d8..f41b03e53c6e 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -86,6 +86,7 @@ "log-symbols": "2.2.0", "marionette-client": "https://github.com/cypress-io/marionette-client.git#5fc10cdf6c02627e9a2add98ca52de4d0c2fe74d", "md5": "2.3.0", + "memfs": "3.4.12", "mime": "2.4.4", "mime-db": "1.45.0", "minimatch": "3.0.5", @@ -123,6 +124,7 @@ "underscore.string": "3.3.6", "url-parse": "1.5.9", "uuid": "8.3.2", + "webpack-virtual-modules": "0.5.0", "widest-line": "3.1.0" }, "devDependencies": { diff --git a/scripts/binary/binary-cleanup.js b/scripts/binary/binary-cleanup.js index f652b629b4fd..2e24e898030b 100644 --- a/scripts/binary/binary-cleanup.js +++ b/scripts/binary/binary-cleanup.js @@ -41,6 +41,7 @@ const getDependencyPathsToKeep = async (buildAppDir) => { 'packages/server/lib/plugins/child/require_async_child.js', 'packages/server/lib/plugins/child/register_ts_node.js', 'packages/rewriter/lib/threads/worker.js', + 'node_modules/@cypress/webpack-batteries-included-preprocessor/index.js', 'node_modules/webpack/lib/webpack.js', 'node_modules/webpack-dev-server/lib/Server.js', 'node_modules/html-webpack-plugin-4/index.js', @@ -83,6 +84,7 @@ const getDependencyPathsToKeep = async (buildAppDir) => { 'pnpapi', '@swc/core', 'emitter', + 'ts-loader', ], }) @@ -128,10 +130,12 @@ const createServerEntryPointBundle = async (buildAppDir) => { ], }) + // eslint-disable-next-line no-console console.log(`copying server entry point bundle from ${path.join(workingDir, 'index.js')} to ${path.join(buildAppDir, 'packages', 'server', 'index.js')}`) await fs.copy(path.join(workingDir, 'index.js'), path.join(buildAppDir, 'packages', 'server', 'index.js')) + // eslint-disable-next-line no-console console.log(`compiling server entry point bundle to ${path.join(buildAppDir, 'packages', 'server', 'index.jsc')}`) // Use bytenode to compile the entry point bundle. This will save time on the v8 compile step and ensure the integrity of the entry point @@ -165,6 +169,7 @@ const buildEntryPointAndCleanup = async (buildAppDir) => { ...serverEntryPointBundleDependencies, ] + // eslint-disable-next-line no-console console.log(`potentially removing ${potentiallyRemovedDependencies.length} dependencies`) // 4. Remove all dependencies that are in the snapshot but not in the list of kept dependencies from the binary diff --git a/system-tests/projects/e2e/cypress/e2e/cy_origin_error.cy.ts b/system-tests/projects/e2e/cypress/e2e/cy_origin_error.cy.ts index 9b0658599ba0..519b45e56e33 100644 --- a/system-tests/projects/e2e/cypress/e2e/cy_origin_error.cy.ts +++ b/system-tests/projects/e2e/cypress/e2e/cy_origin_error.cy.ts @@ -30,7 +30,7 @@ describe('cy.origin errors', () => { fail('failure when using dependency', this, () => { cy.origin('http://www.foobar.com:4466', () => { - require('../support/util') + Cypress.require('../support/util') cy.get('#doesnotexist', { timeout: 1 }) }) diff --git a/system-tests/projects/e2e/cypress/e2e/cy_origin_experimental_dependencies_error.cy.ts b/system-tests/projects/e2e/cypress/e2e/cy_origin_experimental_dependencies_error.cy.ts deleted file mode 100644 index 72db2d8819c8..000000000000 --- a/system-tests/projects/e2e/cypress/e2e/cy_origin_experimental_dependencies_error.cy.ts +++ /dev/null @@ -1,8 +0,0 @@ -it('uses cy.origin() dependency handling', () => { - cy.visit('/primary_origin.html') - cy.get('a[data-cy="cross_origin_secondary_link"]').click() - - cy.origin('foobar.com:4466', () => { - require('lodash') - }) -}) diff --git a/system-tests/projects/origin-dependencies/cypress/e2e/cross_origin.cy.js b/system-tests/projects/origin-dependencies/cypress/e2e/cross_origin.cy.js deleted file mode 100644 index 361985aeda1a..000000000000 --- a/system-tests/projects/origin-dependencies/cypress/e2e/cross_origin.cy.js +++ /dev/null @@ -1,3 +0,0 @@ -it('uses custom cy.origin command', () => { - cy.customOriginCommand() -}) diff --git a/system-tests/projects/passthru-preprocessor/cypress.config.js b/system-tests/projects/passthru-preprocessor/cypress.config.js deleted file mode 100644 index 6fa47792828e..000000000000 --- a/system-tests/projects/passthru-preprocessor/cypress.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - e2e: { - setupNodeEvents (on) { - on('file:preprocessor', ({ filePath }) => filePath) - }, - }, -} diff --git a/system-tests/projects/passthru-preprocessor/cypress/e2e/cross_origin.cy.js b/system-tests/projects/passthru-preprocessor/cypress/e2e/cross_origin.cy.js deleted file mode 100644 index 72db2d8819c8..000000000000 --- a/system-tests/projects/passthru-preprocessor/cypress/e2e/cross_origin.cy.js +++ /dev/null @@ -1,8 +0,0 @@ -it('uses cy.origin() dependency handling', () => { - cy.visit('/primary_origin.html') - cy.get('a[data-cy="cross_origin_secondary_link"]').click() - - cy.origin('foobar.com:4466', () => { - require('lodash') - }) -}) diff --git a/system-tests/projects/passthru-preprocessor/cypress/support/e2e.js b/system-tests/projects/passthru-preprocessor/cypress/support/e2e.js deleted file mode 100644 index e69de29bb2d1..000000000000 diff --git a/system-tests/projects/passthru-preprocessor/primary_origin.html b/system-tests/projects/passthru-preprocessor/primary_origin.html deleted file mode 100644 index d5ba735d963f..000000000000 --- a/system-tests/projects/passthru-preprocessor/primary_origin.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - -
- Go to different origin: - http://www.foobar.com:4466/secondary_origin.html -
- - diff --git a/system-tests/projects/passthru-preprocessor/secondary_origin.html b/system-tests/projects/passthru-preprocessor/secondary_origin.html deleted file mode 100644 index 60c3c12ce165..000000000000 --- a/system-tests/projects/passthru-preprocessor/secondary_origin.html +++ /dev/null @@ -1 +0,0 @@ -

Secondary Origin

diff --git a/system-tests/test/cy_origin_error_spec.ts b/system-tests/test/cy_origin_error_spec.ts index 29a620086477..7613a79e0411 100644 --- a/system-tests/test/cy_origin_error_spec.ts +++ b/system-tests/test/cy_origin_error_spec.ts @@ -47,43 +47,4 @@ describe('e2e cy.origin errors', () => { expect(stdout).to.contain('webpack:///./cypress/e2e/cy_origin_error.cy.ts:32:7') }, }) - - systemTests.it('errors when not using webpack-preprocessor', { - browser: '!webkit', // TODO(webkit): results in "TypeError: expecting an array or an iterable object but got [object Null]" - project: 'passthru-preprocessor', - spec: 'cross_origin.cy.js', - expectedExitCode: 1, - config: commonConfig, - async onRun (exec) { - const res = await exec() - - expect(res.stdout).to.contain('Using `require()` or `import()` to include dependencies requires enabling the `experimentalOriginDependencies` flag and using the latest version of `@cypress/webpack-preprocessor`') - }, - }) - - systemTests.it('errors when the experimentalOriginDependencies flag is not set', { - browser: '!webkit', // TODO(webkit): results in "TypeError: expecting an array or an iterable object but got [object Null]" - spec: 'cy_origin_experimental_dependencies_error.cy.ts', - expectedExitCode: 1, - config: { ...commonConfig, e2e: { experimentalOriginDependencies: false } }, - async onRun (exec) { - const res = await exec() - - expect(res.stdout).to.contain('Using `require()` or `import()` to include dependencies requires enabling the `experimentalOriginDependencies` flag and using the latest version of `@cypress/webpack-preprocessor`') - }, - }) - - systemTests.it('errors when using a plugin that has a custom command that uses cy.origin with a dependency', { - browser: '!webkit', // TODO(webkit): cy.origin is not currently supported in webkit - project: 'origin-dependencies', - spec: 'cross_origin.cy.js', - expectedExitCode: 1, - config: commonConfig, - async onRun (exec) { - const res = await exec() - - expect(res.stdout).to.contain('Using `require()` or `import()` to include dependencies requires enabling the `experimentalOriginDependencies` flag and using the latest version of `@cypress/webpack-preprocessor`') - expect(res.stdout).to.contain('Note: Using `require()` or `import()` within `cy.origin()` from a `node_modules` plugin is not currently supported.') - }, - }) }) diff --git a/system-tests/test/typescript_spec_support_spec.ts b/system-tests/test/typescript_spec_support_spec.ts index 7b6c645b2dd7..67dea370a346 100644 --- a/system-tests/test/typescript_spec_support_spec.ts +++ b/system-tests/test/typescript_spec_support_spec.ts @@ -18,7 +18,6 @@ describe('e2e typescript in spec and support file', function () { expectedExitCode: 1, onStdout: (stdout) => { stdout = stdout.replace(new RegExp('^(.*)npm/(webpack-batteries-included-preprocessor/node_modules/ts-loader/index.js)$', 'm'), ' * relative/path/to/$2') - stdout = stdout.replace(new RegExp('^(.*)npm/(webpack-preprocessor/dist/lib/cross-origin-callback-loader.js)$', 'm'), ' * relative/path/to/$2') return systemTests.normalizeWebpackErrors(stdout) }, diff --git a/tooling/v8-snapshot/cache/darwin/snapshot-meta.json b/tooling/v8-snapshot/cache/darwin/snapshot-meta.json index 84c254154048..019ca282a2fd 100644 --- a/tooling/v8-snapshot/cache/darwin/snapshot-meta.json +++ b/tooling/v8-snapshot/cache/darwin/snapshot-meta.json @@ -45,7 +45,9 @@ "./node_modules/send/node_modules/debug/src/node.js", "./node_modules/stream-parser/node_modules/debug/src/node.js", "./node_modules/tcp-port-used/node_modules/debug/src/node.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/fix-owner.js", "./node_modules/trash/node_modules/make-dir/index.js", + "./node_modules/tsconfig-paths/lib/options.js", "./node_modules/utif/UTIF.js", "./packages/config/node_modules/@babel/traverse/lib/path/comments.js", "./packages/config/node_modules/@babel/traverse/lib/path/conversion.js", @@ -60,7 +62,6 @@ "./packages/network/node_modules/minimatch/minimatch.js", "./packages/proxy/lib/http/util/prerequests.ts", "./packages/server/lib/browsers/index.ts", - "./packages/server/lib/browsers/memory/index.ts", "./packages/server/lib/browsers/utils.ts", "./packages/server/lib/capture.js", "./packages/server/lib/cloud/exception.ts", @@ -97,7 +98,6 @@ "./node_modules/@babel/core/lib/config/partial.js", "./node_modules/@babel/core/lib/config/pattern-to-regex.js", "./node_modules/@babel/core/lib/gensync-utils/fs.js", - "./node_modules/@babel/core/lib/parse.js", "./node_modules/@babel/core/lib/tools/build-external-helpers.js", "./node_modules/@babel/core/lib/transformation/file/file.js", "./node_modules/@babel/core/lib/transformation/normalize-file.js", @@ -135,6 +135,9 @@ "./node_modules/@babel/types/lib/definitions/typescript.js", "./node_modules/@babel/types/lib/definitions/utils.js", "./node_modules/@babel/types/lib/index.js", + "./node_modules/@babel/types/lib/modifications/appendToMemberExpression.js", + "./node_modules/@babel/types/lib/modifications/prependToMemberExpression.js", + "./node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js", "./node_modules/@babel/types/lib/validators/is.js", "./node_modules/@babel/types/lib/validators/isPlaceholderType.js", "./node_modules/@babel/types/lib/validators/isType.js", @@ -213,6 +216,7 @@ "./node_modules/archiver/node_modules/readable-stream/readable.js", "./node_modules/array-uniq/index.js", "./node_modules/assert-plus/assert.js", + "./node_modules/base/index.js", "./node_modules/basic-auth/node_modules/safe-buffer/index.js", "./node_modules/bl/bl.js", "./node_modules/bl/node_modules/readable-stream/errors.js", @@ -225,9 +229,18 @@ "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js", "./node_modules/bl/node_modules/readable-stream/readable.js", "./node_modules/black-hole-stream/index.js", + "./node_modules/body-parser/index.js", + "./node_modules/body-parser/node_modules/debug/src/browser.js", + "./node_modules/body-parser/node_modules/debug/src/index.js", + "./node_modules/body-parser/node_modules/http-errors/index.js", "./node_modules/buffer-crc32/index.js", "./node_modules/buffer-from/index.js", "./node_modules/chalk/index.js", + "./node_modules/chokidar/index.js", + "./node_modules/chokidar/lib/constants.js", + "./node_modules/chokidar/lib/fsevents-handler.js", + "./node_modules/chokidar/lib/nodefs-handler.js", + "./node_modules/chokidar/node_modules/readdirp/index.js", "./node_modules/chrome-remote-interface/index.js", "./node_modules/chrome-remote-interface/lib/chrome.js", "./node_modules/chrome-remote-interface/node_modules/ws/index.js", @@ -261,6 +274,8 @@ "./node_modules/concat-stream/index.js", "./node_modules/config-chain/index.js", "./node_modules/convert-source-map/node_modules/safe-buffer/index.js", + "./node_modules/copy-concurrently/node_modules/glob/glob.js", + "./node_modules/copy-concurrently/node_modules/glob/sync.js", "./node_modules/cp-file/cp-file-error.js", "./node_modules/cp-file/fs.js", "./node_modules/cp-file/progress-emitter.js", @@ -292,9 +307,17 @@ "./node_modules/encoding/node_modules/iconv-lite/encodings/index.js", "./node_modules/encoding/node_modules/iconv-lite/encodings/internal.js", "./node_modules/encoding/node_modules/iconv-lite/lib/index.js", + "./node_modules/enhanced-resolve/lib/NodeJsInputFileSystem.js", + "./node_modules/enhanced-resolve/lib/Resolver.js", + "./node_modules/enhanced-resolve/lib/createInnerCallback.js", + "./node_modules/enhanced-resolve/lib/node.js", + "./node_modules/errno/errno.js", "./node_modules/esutils/lib/code.js", "./node_modules/evil-dns/evil-dns.js", "./node_modules/execa/node_modules/get-stream/buffer-stream.js", + "./node_modules/expand-brackets/node_modules/debug/src/browser.js", + "./node_modules/expand-brackets/node_modules/debug/src/index.js", + "./node_modules/expand-brackets/node_modules/debug/src/node.js", "./node_modules/express-graphql/index.js", "./node_modules/express-graphql/node_modules/http-errors/index.js", "./node_modules/express-graphql/parseBody.js", @@ -309,6 +332,7 @@ "./node_modules/extract-zip/node_modules/get-stream/buffer-stream.js", "./node_modules/fast-glob/out/settings.js", "./node_modules/fd-slicer/index.js", + "./node_modules/file-uri-to-path/index.js", "./node_modules/finalhandler/node_modules/debug/src/browser.js", "./node_modules/finalhandler/node_modules/debug/src/index.js", "./node_modules/firefox-profile/node_modules/async/dist/async.js", @@ -326,9 +350,11 @@ "./node_modules/fluent-ffmpeg/lib/fluent-ffmpeg.js", "./node_modules/fluent-ffmpeg/lib/utils.js", "./node_modules/fluent-ffmpeg/node_modules/async/dist/async.js", + "./node_modules/flush-write-stream/index.js", "./node_modules/follow-redirects/index.js", "./node_modules/forever-agent/index.js", "./node_modules/form-data/lib/form_data.js", + "./node_modules/from2/index.js", "./node_modules/front-matter/index.js", "./node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/loader.js", "./node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/default_full.js", @@ -339,6 +365,7 @@ "./node_modules/fs-extra/lib/json/index.js", "./node_modules/fs-extra/lib/json/jsonfile.js", "./node_modules/fs-extra/lib/path-exists/index.js", + "./node_modules/fs-write-stream-atomic/index.js", "./node_modules/fsevents/fsevents.js", "./node_modules/galactus/node_modules/fs-extra/lib/fs/index.js", "./node_modules/galactus/node_modules/fs-extra/lib/index.js", @@ -403,8 +430,12 @@ "./node_modules/make-dir/node_modules/semver/semver.js", "./node_modules/marionette-client/lib/marionette/index.js", "./node_modules/marionette-client/lib/marionette/marionette.js", + "./node_modules/memfs/lib/index.js", + "./node_modules/memfs/lib/process.js", + "./node_modules/memfs/lib/volume.js", "./node_modules/methods/index.js", "./node_modules/mime/mime.js", + "./node_modules/mississippi/node_modules/through2/through2.js", "./node_modules/mocha-7.0.1/index.js", "./node_modules/mocha-7.0.1/lib/hook.js", "./node_modules/mocha-7.0.1/lib/mocha.js", @@ -456,7 +487,10 @@ "./node_modules/morgan/index.js", "./node_modules/morgan/node_modules/debug/src/browser.js", "./node_modules/morgan/node_modules/debug/src/index.js", + "./node_modules/move-concurrently/node_modules/glob/glob.js", + "./node_modules/move-concurrently/node_modules/glob/sync.js", "./node_modules/move-file/node_modules/semver/semver.js", + "./node_modules/neo-async/async.js", "./node_modules/nested-error-stacks/index.js", "./node_modules/nexus/dist/core.js", "./node_modules/nexus/dist/definitions/list.js", @@ -511,6 +545,7 @@ "./node_modules/node-forge/lib/util.js", "./node_modules/node-forge/lib/x509.js", "./node_modules/node-gyp-build/index.js", + "./node_modules/node-libs-browser/index.js", "./node_modules/node-machine-id/dist/index.js", "./node_modules/normalize-package-data/node_modules/semver/semver.js", "./node_modules/npm-conf/lib/conf.js", @@ -519,6 +554,7 @@ "./node_modules/os-homedir/index.js", "./node_modules/pako/lib/utils/strings.js", "./node_modules/pako/lib/zlib/trees.js", + "./node_modules/parallel-transform/index.js", "./node_modules/performance-now/lib/performance-now.js", "./node_modules/phin/lib/phin.compiled.js", "./node_modules/picocolors/picocolors.js", @@ -540,6 +576,7 @@ "./node_modules/pseudomap/map.js", "./node_modules/pumpify/index.js", "./node_modules/queue/index.js", + "./node_modules/randombytes/index.js", "./node_modules/react-docgen/dist/babelParser.js", "./node_modules/react-docgen/dist/importer/index.js", "./node_modules/react-docgen/dist/importer/makeFsImporter.js", @@ -557,6 +594,7 @@ "./node_modules/readable-stream/readable.js", "./node_modules/readable-stream/transform.js", "./node_modules/readdir-glob/index.js", + "./node_modules/readdirp/stream-api.js", "./node_modules/recast/lib/comments.js", "./node_modules/recast/lib/fast-path.js", "./node_modules/recast/lib/lines.js", @@ -581,14 +619,21 @@ "./node_modules/safe-buffer/index.js", "./node_modules/safer-buffer/safer.js", "./node_modules/sax/lib/sax.js", + "./node_modules/schema-utils/src/index.js", + "./node_modules/schema-utils/src/validateOptions.js", "./node_modules/semaphore/lib/semaphore.js", "./node_modules/send/index.js", "./node_modules/send/node_modules/debug/src/browser.js", "./node_modules/send/node_modules/debug/src/index.js", + "./node_modules/serialize-javascript/index.js", "./node_modules/shell-env/node_modules/execa/lib/errname.js", "./node_modules/shell-env/node_modules/semver/semver.js", "./node_modules/signal-exit/signals.js", "./node_modules/simple-git/dist/cjs/index.js", + "./node_modules/snapdragon/index.js", + "./node_modules/snapdragon/node_modules/debug/src/browser.js", + "./node_modules/snapdragon/node_modules/debug/src/index.js", + "./node_modules/snapdragon/node_modules/debug/src/node.js", "./node_modules/socket.io-adapter/dist/index.js", "./node_modules/sprintf-js/src/sprintf.js", "./node_modules/sshpk/lib/algs.js", @@ -620,6 +665,7 @@ "./node_modules/supports-color/index.js", "./node_modules/systeminformation/lib/dockerSocket.js", "./node_modules/systeminformation/lib/util.js", + "./node_modules/tapable/lib/Tapable.js", "./node_modules/tar-stream/extract.js", "./node_modules/tar-stream/node_modules/readable-stream/errors.js", "./node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js", @@ -633,6 +679,24 @@ "./node_modules/tar-stream/pack.js", "./node_modules/tcp-port-used/node_modules/debug/src/browser.js", "./node_modules/tcp-port-used/node_modules/debug/src/index.js", + "./node_modules/terser-webpack-plugin/dist/TaskRunner.js", + "./node_modules/terser-webpack-plugin/dist/cjs.js", + "./node_modules/terser-webpack-plugin/dist/index.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/get.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/index.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/read.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/write.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/entry-index.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/verify.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/locales/en.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/ls.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/put.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/verify.js", + "./node_modules/terser-webpack-plugin/node_modules/chownr/chownr.js", + "./node_modules/terser-webpack-plugin/node_modules/glob/glob.js", + "./node_modules/terser-webpack-plugin/node_modules/glob/sync.js", + "./node_modules/terser-webpack-plugin/node_modules/is-wsl/index.js", + "./node_modules/terser-webpack-plugin/node_modules/ssri/index.js", "./node_modules/throttle/throttle.js", "./node_modules/tough-cookie/lib/cookie.js", "./node_modules/tough-cookie/lib/memstore.js", @@ -650,6 +714,8 @@ "./node_modules/ts-node/dist/index.js", "./node_modules/ts-node/dist/repl.js", "./node_modules/ts-node/dist/util.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/logger.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk/source/index.js", "./node_modules/tunnel-agent/index.js", "./node_modules/tunnel/index.js", "./node_modules/tunnel/lib/tunnel.js", @@ -657,6 +723,7 @@ "./node_modules/underscore.string/index.js", "./node_modules/underscore.string/sprintf.js", "./node_modules/underscore.string/vsprintf.js", + "./node_modules/upath/build/code/upath.js", "./node_modules/user-home/index.js", "./node_modules/utf8-stream/node_modules/readable-stream/lib/_stream_duplex.js", "./node_modules/utf8-stream/node_modules/readable-stream/lib/_stream_readable.js", @@ -665,10 +732,131 @@ "./node_modules/utf8-stream/node_modules/readable-stream/transform.js", "./node_modules/util-deprecate/node.js", "./node_modules/verror/lib/verror.js", + "./node_modules/watchpack-chokidar2/index.js", + "./node_modules/watchpack-chokidar2/node_modules/chokidar/index.js", + "./node_modules/watchpack-chokidar2/node_modules/fsevents/fsevents.js", + "./node_modules/watchpack-chokidar2/node_modules/glob-parent/index.js", + "./node_modules/watchpack/lib/DirectoryWatcher.js", + "./node_modules/watchpack/lib/chokidar.js", + "./node_modules/watchpack/lib/watchpack.js", + "./node_modules/webpack/lib/AbstractMethodError.js", + "./node_modules/webpack/lib/AsyncDependencyToInitialChunkError.js", + "./node_modules/webpack/lib/CaseSensitiveModulesWarning.js", + "./node_modules/webpack/lib/Chunk.js", + "./node_modules/webpack/lib/ChunkRenderError.js", + "./node_modules/webpack/lib/ChunkTemplate.js", + "./node_modules/webpack/lib/CommentCompilationWarning.js", + "./node_modules/webpack/lib/Compilation.js", + "./node_modules/webpack/lib/Compiler.js", + "./node_modules/webpack/lib/ConcurrentCompilationError.js", + "./node_modules/webpack/lib/ContextModule.js", + "./node_modules/webpack/lib/ContextModuleFactory.js", + "./node_modules/webpack/lib/DelegatedModule.js", + "./node_modules/webpack/lib/Dependency.js", + "./node_modules/webpack/lib/DllModule.js", + "./node_modules/webpack/lib/DllModuleFactory.js", + "./node_modules/webpack/lib/DllReferencePlugin.js", + "./node_modules/webpack/lib/EntryModuleNotFoundError.js", + "./node_modules/webpack/lib/ExternalModule.js", + "./node_modules/webpack/lib/HarmonyLinkingError.js", + "./node_modules/webpack/lib/HotUpdateChunk.js", + "./node_modules/webpack/lib/HotUpdateChunkTemplate.js", + "./node_modules/webpack/lib/MainTemplate.js", + "./node_modules/webpack/lib/Module.js", + "./node_modules/webpack/lib/ModuleBuildError.js", + "./node_modules/webpack/lib/ModuleDependencyError.js", + "./node_modules/webpack/lib/ModuleDependencyWarning.js", + "./node_modules/webpack/lib/ModuleError.js", + "./node_modules/webpack/lib/ModuleNotFoundError.js", + "./node_modules/webpack/lib/ModuleParseError.js", + "./node_modules/webpack/lib/ModuleTemplate.js", + "./node_modules/webpack/lib/ModuleWarning.js", + "./node_modules/webpack/lib/MultiCompiler.js", + "./node_modules/webpack/lib/MultiModule.js", + "./node_modules/webpack/lib/MultiModuleFactory.js", + "./node_modules/webpack/lib/NoModeWarning.js", + "./node_modules/webpack/lib/NormalModule.js", + "./node_modules/webpack/lib/NormalModuleFactory.js", + "./node_modules/webpack/lib/Parser.js", + "./node_modules/webpack/lib/RawModule.js", + "./node_modules/webpack/lib/RemovedPluginError.js", + "./node_modules/webpack/lib/ResolverFactory.js", + "./node_modules/webpack/lib/UnsupportedFeatureWarning.js", + "./node_modules/webpack/lib/WebpackError.js", + "./node_modules/webpack/lib/WebpackOptionsValidationError.js", + "./node_modules/webpack/lib/debug/ProfilingPlugin.js", + "./node_modules/webpack/lib/dependencies/AMDDefineDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireArrayDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireContextDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireItemDependency.js", + "./node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js", + "./node_modules/webpack/lib/dependencies/CommonJsRequireDependency.js", + "./node_modules/webpack/lib/dependencies/ConstDependency.js", + "./node_modules/webpack/lib/dependencies/ContextDependency.js", + "./node_modules/webpack/lib/dependencies/ContextElementDependency.js", + "./node_modules/webpack/lib/dependencies/CriticalDependencyWarning.js", + "./node_modules/webpack/lib/dependencies/DelegatedExportsDependency.js", + "./node_modules/webpack/lib/dependencies/DelegatedSourceDependency.js", + "./node_modules/webpack/lib/dependencies/DllEntryDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyAcceptImportDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyCompatibilityDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportHeaderDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportSpecifierDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportSideEffectDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyInitDependency.js", + "./node_modules/webpack/lib/dependencies/ImportContextDependency.js", + "./node_modules/webpack/lib/dependencies/ImportDependency.js", + "./node_modules/webpack/lib/dependencies/ImportEagerDependency.js", + "./node_modules/webpack/lib/dependencies/ImportWeakDependency.js", + "./node_modules/webpack/lib/dependencies/JsonExportsDependency.js", + "./node_modules/webpack/lib/dependencies/LoaderDependency.js", + "./node_modules/webpack/lib/dependencies/LocalModuleDependency.js", + "./node_modules/webpack/lib/dependencies/ModuleDependency.js", + "./node_modules/webpack/lib/dependencies/ModuleHotAcceptDependency.js", + "./node_modules/webpack/lib/dependencies/ModuleHotDeclineDependency.js", + "./node_modules/webpack/lib/dependencies/MultiEntryDependency.js", + "./node_modules/webpack/lib/dependencies/NullDependency.js", + "./node_modules/webpack/lib/dependencies/PrefetchDependency.js", + "./node_modules/webpack/lib/dependencies/RequireContextDependency.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureDependency.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureItemDependency.js", + "./node_modules/webpack/lib/dependencies/RequireHeaderDependency.js", + "./node_modules/webpack/lib/dependencies/RequireIncludeDependency.js", + "./node_modules/webpack/lib/dependencies/RequireResolveContextDependency.js", + "./node_modules/webpack/lib/dependencies/RequireResolveDependency.js", + "./node_modules/webpack/lib/dependencies/RequireResolveHeaderDependency.js", + "./node_modules/webpack/lib/dependencies/SingleEntryDependency.js", + "./node_modules/webpack/lib/dependencies/SystemPlugin.js", + "./node_modules/webpack/lib/dependencies/UnsupportedDependency.js", + "./node_modules/webpack/lib/dependencies/WebAssemblyExportImportedDependency.js", + "./node_modules/webpack/lib/dependencies/WebAssemblyImportDependency.js", + "./node_modules/webpack/lib/node/nodeConsole.js", + "./node_modules/webpack/lib/optimize/ConcatenatedModule.js", + "./node_modules/webpack/lib/optimize/MinMaxSizeWarning.js", + "./node_modules/webpack/lib/performance/AssetsOverSizeLimitWarning.js", + "./node_modules/webpack/lib/performance/EntrypointsOverSizeLimitWarning.js", + "./node_modules/webpack/lib/performance/NoAsyncChunksWarning.js", + "./node_modules/webpack/lib/util/StackedSetMap.js", + "./node_modules/webpack/lib/validateSchema.js", + "./node_modules/webpack/lib/wasm/UnsupportedWebAssemblyFeatureError.js", + "./node_modules/webpack/lib/wasm/WebAssemblyInInitialChunkError.js", + "./node_modules/webpack/lib/wasm/WebAssemblyParser.js", + "./node_modules/webpack/lib/webpack.js", + "./node_modules/worker-farm/lib/farm.js", + "./node_modules/worker-farm/lib/fork.js", "./node_modules/xdg-trashdir/node_modules/xdg-basedir/index.js", "./node_modules/xml2js/lib/xml2js.js", "./node_modules/yauzl/index.js", "./node_modules/zip-stream/index.js", + "./npm/webpack-batteries-included-preprocessor/index.js", + "./npm/webpack-preprocessor/dist/index.js", + "./npm/webpack-preprocessor/dist/lib/utils.js", "./packages/config/index.js", "./packages/config/node_modules/@babel/traverse/lib/context.js", "./packages/config/node_modules/@babel/traverse/lib/index.js", @@ -678,7 +866,6 @@ "./packages/config/node_modules/@babel/traverse/lib/path/modification.js", "./packages/config/node_modules/@babel/traverse/lib/path/removal.js", "./packages/config/node_modules/@babel/traverse/lib/path/replacement.js", - "./packages/config/node_modules/@babel/traverse/lib/scope/index.js", "./packages/config/src/options.ts", "./packages/data-context/index.js", "./packages/data-context/node_modules/@babel/generator/lib/node/index.js", @@ -803,12 +990,14 @@ "./packages/scaffold-config/index.js", "./packages/server/lib/browsers/chrome.ts", "./packages/server/lib/browsers/firefox.ts", + "./packages/server/lib/browsers/memory/index.ts", "./packages/server/lib/cache.js", "./packages/server/lib/cloud/api.ts", "./packages/server/lib/cloud/auth.ts", "./packages/server/lib/cloud/routes.ts", "./packages/server/lib/cloud/upload.ts", "./packages/server/lib/cloud/user.ts", + "./packages/server/lib/cross-origin/process-callback.ts", "./packages/server/lib/cypress.js", "./packages/server/lib/environment.js", "./packages/server/lib/files.js", @@ -896,6 +1085,8 @@ "./packages/server/node_modules/uuid/dist/v3.js", "./packages/server/node_modules/uuid/dist/v4.js", "./packages/server/node_modules/uuid/dist/v5.js", + "./packages/server/node_modules/webpack-virtual-modules/lib/index.js", + "./packages/server/node_modules/webpack-virtual-modules/lib/virtual-stats.js", "./packages/server/start-cypress.js", "./packages/server/v8-snapshot-entry.js", "./packages/socket/index.js", @@ -949,6 +1140,7 @@ "./node_modules/@babel/core/lib/gensync-utils/async.js", "./node_modules/@babel/core/lib/gensync-utils/functional.js", "./node_modules/@babel/core/lib/index.js", + "./node_modules/@babel/core/lib/parse.js", "./node_modules/@babel/core/lib/parser/index.js", "./node_modules/@babel/core/lib/parser/util/missing-plugin-helper.js", "./node_modules/@babel/core/lib/transform-ast.js", @@ -1063,12 +1255,6 @@ "./node_modules/@babel/types/lib/asserts/assertNode.js", "./node_modules/@babel/types/lib/asserts/generated/index.js", "./node_modules/@babel/types/lib/ast-types/generated/index.js", - "./node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js", - "./node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js", - "./node_modules/@babel/types/lib/builders/generated/index.js", - "./node_modules/@babel/types/lib/builders/generated/uppercase.js", - "./node_modules/@babel/types/lib/builders/react/buildChildren.js", - "./node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js", "./node_modules/@babel/types/lib/clone/clone.js", "./node_modules/@babel/types/lib/clone/cloneDeep.js", "./node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js", @@ -1083,21 +1269,13 @@ "./node_modules/@babel/types/lib/comments/removeComments.js", "./node_modules/@babel/types/lib/constants/generated/index.js", "./node_modules/@babel/types/lib/constants/index.js", - "./node_modules/@babel/types/lib/converters/ensureBlock.js", "./node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js", "./node_modules/@babel/types/lib/converters/toBindingIdentifierName.js", - "./node_modules/@babel/types/lib/converters/toBlock.js", - "./node_modules/@babel/types/lib/converters/toComputedKey.js", "./node_modules/@babel/types/lib/converters/toExpression.js", "./node_modules/@babel/types/lib/converters/toIdentifier.js", "./node_modules/@babel/types/lib/converters/toKeyAlias.js", - "./node_modules/@babel/types/lib/converters/toSequenceExpression.js", - "./node_modules/@babel/types/lib/converters/toStatement.js", - "./node_modules/@babel/types/lib/converters/valueToNode.js", - "./node_modules/@babel/types/lib/modifications/appendToMemberExpression.js", "./node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js", "./node_modules/@babel/types/lib/modifications/inherits.js", - "./node_modules/@babel/types/lib/modifications/prependToMemberExpression.js", "./node_modules/@babel/types/lib/modifications/removeProperties.js", "./node_modules/@babel/types/lib/modifications/removePropertiesDeep.js", "./node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js", @@ -1106,7 +1284,6 @@ "./node_modules/@babel/types/lib/traverse/traverse.js", "./node_modules/@babel/types/lib/traverse/traverseFast.js", "./node_modules/@babel/types/lib/utils/inherit.js", - "./node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js", "./node_modules/@babel/types/lib/utils/shallowEqual.js", "./node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js", "./node_modules/@babel/types/lib/validators/generated/index.js", @@ -1314,6 +1491,29 @@ "./node_modules/@urql/exchange-graphcache/dist/7832a774.js", "./node_modules/@urql/exchange-graphcache/dist/urql-exchange-graphcache-extras.js", "./node_modules/@urql/exchange-graphcache/dist/urql-exchange-graphcache.js", + "./node_modules/@webassemblyjs/helper-module-context/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/floating-point-hex-parser/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-api-error/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-code-frame/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-fsm/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/wast-parser/lib/grammar.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/wast-parser/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/wast-parser/lib/number-literals.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/wast-parser/lib/string-literals.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/wast-parser/lib/tokenizer.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/wast-printer/lib/index.js", + "./node_modules/@xtuc/ieee754/dist/index.cjs.js", + "./node_modules/@xtuc/long/src/long.js", "./node_modules/accepts/index.js", "./node_modules/acorn-node/index.js", "./node_modules/acorn-node/lib/bigint/index.js", @@ -1326,6 +1526,7 @@ "./node_modules/acorn-node/lib/static-class-features/index.js", "./node_modules/acorn-node/node_modules/acorn/dist/acorn.js", "./node_modules/acorn-walk/dist/walk.js", + "./node_modules/acorn/dist/acorn.js", "./node_modules/adm-zip/headers/entryHeader.js", "./node_modules/adm-zip/headers/index.js", "./node_modules/adm-zip/headers/mainHeader.js", @@ -1337,6 +1538,75 @@ "./node_modules/adm-zip/util/fileSystem.js", "./node_modules/adm-zip/zipEntry.js", "./node_modules/adm-zip/zipFile.js", + "./node_modules/ajv-errors/index.js", + "./node_modules/ajv-errors/lib/dotjs/errorMessage.js", + "./node_modules/ajv-keywords/index.js", + "./node_modules/ajv-keywords/keywords/_formatLimit.js", + "./node_modules/ajv-keywords/keywords/_util.js", + "./node_modules/ajv-keywords/keywords/allRequired.js", + "./node_modules/ajv-keywords/keywords/anyRequired.js", + "./node_modules/ajv-keywords/keywords/deepProperties.js", + "./node_modules/ajv-keywords/keywords/deepRequired.js", + "./node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js", + "./node_modules/ajv-keywords/keywords/dotjs/patternRequired.js", + "./node_modules/ajv-keywords/keywords/dotjs/switch.js", + "./node_modules/ajv-keywords/keywords/dynamicDefaults.js", + "./node_modules/ajv-keywords/keywords/formatMaximum.js", + "./node_modules/ajv-keywords/keywords/formatMinimum.js", + "./node_modules/ajv-keywords/keywords/index.js", + "./node_modules/ajv-keywords/keywords/instanceof.js", + "./node_modules/ajv-keywords/keywords/oneRequired.js", + "./node_modules/ajv-keywords/keywords/patternRequired.js", + "./node_modules/ajv-keywords/keywords/prohibited.js", + "./node_modules/ajv-keywords/keywords/range.js", + "./node_modules/ajv-keywords/keywords/regexp.js", + "./node_modules/ajv-keywords/keywords/select.js", + "./node_modules/ajv-keywords/keywords/switch.js", + "./node_modules/ajv-keywords/keywords/transform.js", + "./node_modules/ajv-keywords/keywords/typeof.js", + "./node_modules/ajv-keywords/keywords/uniqueItemProperties.js", + "./node_modules/ajv/lib/ajv.js", + "./node_modules/ajv/lib/cache.js", + "./node_modules/ajv/lib/compile/async.js", + "./node_modules/ajv/lib/compile/error_classes.js", + "./node_modules/ajv/lib/compile/formats.js", + "./node_modules/ajv/lib/compile/index.js", + "./node_modules/ajv/lib/compile/resolve.js", + "./node_modules/ajv/lib/compile/rules.js", + "./node_modules/ajv/lib/compile/schema_obj.js", + "./node_modules/ajv/lib/compile/ucs2length.js", + "./node_modules/ajv/lib/compile/util.js", + "./node_modules/ajv/lib/data.js", + "./node_modules/ajv/lib/definition_schema.js", + "./node_modules/ajv/lib/dotjs/_limit.js", + "./node_modules/ajv/lib/dotjs/_limitItems.js", + "./node_modules/ajv/lib/dotjs/_limitLength.js", + "./node_modules/ajv/lib/dotjs/_limitProperties.js", + "./node_modules/ajv/lib/dotjs/allOf.js", + "./node_modules/ajv/lib/dotjs/anyOf.js", + "./node_modules/ajv/lib/dotjs/comment.js", + "./node_modules/ajv/lib/dotjs/const.js", + "./node_modules/ajv/lib/dotjs/contains.js", + "./node_modules/ajv/lib/dotjs/custom.js", + "./node_modules/ajv/lib/dotjs/dependencies.js", + "./node_modules/ajv/lib/dotjs/enum.js", + "./node_modules/ajv/lib/dotjs/format.js", + "./node_modules/ajv/lib/dotjs/if.js", + "./node_modules/ajv/lib/dotjs/index.js", + "./node_modules/ajv/lib/dotjs/items.js", + "./node_modules/ajv/lib/dotjs/multipleOf.js", + "./node_modules/ajv/lib/dotjs/not.js", + "./node_modules/ajv/lib/dotjs/oneOf.js", + "./node_modules/ajv/lib/dotjs/pattern.js", + "./node_modules/ajv/lib/dotjs/properties.js", + "./node_modules/ajv/lib/dotjs/propertyNames.js", + "./node_modules/ajv/lib/dotjs/ref.js", + "./node_modules/ajv/lib/dotjs/required.js", + "./node_modules/ajv/lib/dotjs/uniqueItems.js", + "./node_modules/ajv/lib/dotjs/validate.js", + "./node_modules/ajv/lib/keyword.js", + "./node_modules/ajv/lib/refs/data.json", + "./node_modules/ajv/lib/refs/json-schema-draft-07.json", "./node_modules/ansi-regex/index.js", "./node_modules/ansi-styles/index.js", "./node_modules/ansi_up/ansi_up.js", @@ -1354,13 +1624,18 @@ "./node_modules/archiver/node_modules/readable-stream/lib/internal/streams/from.js", "./node_modules/archiver/node_modules/readable-stream/lib/internal/streams/pipeline.js", "./node_modules/archiver/node_modules/readable-stream/lib/internal/streams/state.js", + "./node_modules/arr-diff/index.js", + "./node_modules/arr-flatten/index.js", + "./node_modules/arr-union/index.js", "./node_modules/array-union/index.js", + "./node_modules/array-unique/index.js", "./node_modules/asn1/lib/ber/errors.js", "./node_modules/asn1/lib/ber/index.js", "./node_modules/asn1/lib/ber/reader.js", "./node_modules/asn1/lib/ber/types.js", "./node_modules/asn1/lib/ber/writer.js", "./node_modules/asn1/lib/index.js", + "./node_modules/assign-symbols/index.js", "./node_modules/ast-types/def/babel-core.js", "./node_modules/ast-types/def/babel.js", "./node_modules/ast-types/def/core-operators.js", @@ -1388,6 +1663,7 @@ "./node_modules/ast-types/lib/types.js", "./node_modules/ast-types/main.js", "./node_modules/astral-regex/index.js", + "./node_modules/async-each/index.js", "./node_modules/asynckit/index.js", "./node_modules/asynckit/lib/abort.js", "./node_modules/asynckit/lib/async.js", @@ -1399,12 +1675,14 @@ "./node_modules/asynckit/serial.js", "./node_modules/asynckit/serialOrdered.js", "./node_modules/at-least-node/index.js", + "./node_modules/atob/node-atob.js", "./node_modules/author-regex/index.js", "./node_modules/aws-sign2/index.js", "./node_modules/aws4/aws4.js", "./node_modules/aws4/lru.js", "./node_modules/babylon/lib/index.js", "./node_modules/balanced-match/index.js", + "./node_modules/base/node_modules/define-property/index.js", "./node_modules/base64-js/index.js", "./node_modules/base64id/lib/base64id.js", "./node_modules/basic-auth/index.js", @@ -1412,6 +1690,7 @@ "./node_modules/binary-extensions/binary-extensions.json", "./node_modules/binary-extensions/index.js", "./node_modules/binaryextensions/edition-es5/index.js", + "./node_modules/bindings/bindings.js", "./node_modules/bl/BufferList.js", "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/async_iterator.js", "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/destroy.js", @@ -1419,6 +1698,23 @@ "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/from.js", "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/pipeline.js", "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/state.js", + "./node_modules/body-parser/lib/read.js", + "./node_modules/body-parser/lib/types/json.js", + "./node_modules/body-parser/lib/types/raw.js", + "./node_modules/body-parser/lib/types/text.js", + "./node_modules/body-parser/lib/types/urlencoded.js", + "./node_modules/body-parser/node_modules/bytes/index.js", + "./node_modules/body-parser/node_modules/debug/src/debug.js", + "./node_modules/body-parser/node_modules/inherits/inherits.js", + "./node_modules/body-parser/node_modules/inherits/inherits_browser.js", + "./node_modules/body-parser/node_modules/ms/index.js", + "./node_modules/body-parser/node_modules/qs/lib/formats.js", + "./node_modules/body-parser/node_modules/qs/lib/index.js", + "./node_modules/body-parser/node_modules/qs/lib/parse.js", + "./node_modules/body-parser/node_modules/qs/lib/stringify.js", + "./node_modules/body-parser/node_modules/qs/lib/utils.js", + "./node_modules/body-parser/node_modules/raw-body/index.js", + "./node_modules/body-parser/node_modules/setprototypeof/index.js", "./node_modules/boolean/build/lib/boolean.js", "./node_modules/brace-expansion/index.js", "./node_modules/braces/index.js", @@ -1433,6 +1729,7 @@ "./node_modules/browserslist/node.js", "./node_modules/browserslist/parse.js", "./node_modules/bytes/index.js", + "./node_modules/cache-base/index.js", "./node_modules/caniuse-lite/data/agents.js", "./node_modules/caniuse-lite/data/browserVersions.js", "./node_modules/caniuse-lite/data/browsers.js", @@ -1466,9 +1763,12 @@ "./node_modules/chrome-remote-interface/node_modules/ws/lib/sender.js", "./node_modules/chrome-remote-interface/node_modules/ws/lib/stream.js", "./node_modules/chrome-remote-interface/node_modules/ws/lib/validation.js", + "./node_modules/chrome-trace-event/dist/trace-event.js", + "./node_modules/chrome-trace-event/node_modules/tslib/tslib.js", "./node_modules/ci-info/index.js", "./node_modules/ci-info/vendors.json", "./node_modules/circular-json/build/circular-json.node.js", + "./node_modules/class-utils/index.js", "./node_modules/cli-truncate/index.js", "./node_modules/cli-truncate/node_modules/is-fullwidth-code-point/index.js", "./node_modules/cli-truncate/node_modules/slice-ansi/index.js", @@ -1479,6 +1779,7 @@ "./node_modules/coffeescript/lib/coffee-script/scope.js", "./node_modules/coffeescript/lib/coffee-script/sourcemap.js", "./node_modules/coffeescript/package.json", + "./node_modules/collection-visit/index.js", "./node_modules/color-convert/conversions.js", "./node_modules/color-convert/index.js", "./node_modules/color-convert/route.js", @@ -1544,6 +1845,7 @@ "./node_modules/common-tags/lib/stripIndents/stripIndents.js", "./node_modules/common-tags/lib/trimResultTransformer/index.js", "./node_modules/common-tags/lib/trimResultTransformer/trimResultTransformer.js", + "./node_modules/commondir/index.js", "./node_modules/component-emitter/index.js", "./node_modules/compress-commons/lib/archivers/archive-entry.js", "./node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js", @@ -1568,6 +1870,12 @@ "./node_modules/cookie-parser/node_modules/cookie/index.js", "./node_modules/cookie-signature/index.js", "./node_modules/cookie/index.js", + "./node_modules/copy-concurrently/copy.js", + "./node_modules/copy-concurrently/is-windows.js", + "./node_modules/copy-concurrently/node_modules/aproba/index.js", + "./node_modules/copy-concurrently/node_modules/glob/common.js", + "./node_modules/copy-concurrently/node_modules/rimraf/rimraf.js", + "./node_modules/copy-descriptor/index.js", "./node_modules/core-util-is/lib/util.js", "./node_modules/cors/lib/index.js", "./node_modules/cp-file/index.js", @@ -1594,6 +1902,7 @@ "./node_modules/cross-spawn/node_modules/shebang-regex/index.js", "./node_modules/cross-spawn/node_modules/which/which.js", "./node_modules/crypt/crypt.js", + "./node_modules/cyclist/index.js", "./node_modules/data-uri-to-buffer/index.js", "./node_modules/dayjs/dayjs.min.js", "./node_modules/dayjs/plugin/duration.js", @@ -1601,10 +1910,18 @@ "./node_modules/dayjs/plugin/updateLocale.js", "./node_modules/debug/node_modules/ms/index.js", "./node_modules/debug/src/common.js", + "./node_modules/decode-uri-component/index.js", "./node_modules/decompress-response/index.js", "./node_modules/dedent/dist/dedent.js", "./node_modules/deep-is/index.js", "./node_modules/define-properties/index.js", + "./node_modules/define-property/index.js", + "./node_modules/define-property/node_modules/is-accessor-descriptor/index.js", + "./node_modules/define-property/node_modules/is-accessor-descriptor/node_modules/kind-of/index.js", + "./node_modules/define-property/node_modules/is-data-descriptor/index.js", + "./node_modules/define-property/node_modules/is-data-descriptor/node_modules/kind-of/index.js", + "./node_modules/define-property/node_modules/is-descriptor/index.js", + "./node_modules/define-property/node_modules/kind-of/index.js", "./node_modules/depd/lib/compat/callsite-tostring.js", "./node_modules/depd/lib/compat/event-listener-count.js", "./node_modules/depd/lib/compat/index.js", @@ -1715,7 +2032,45 @@ "./node_modules/encoding/node_modules/iconv-lite/lib/bom-handling.js", "./node_modules/encoding/node_modules/iconv-lite/lib/streams.js", "./node_modules/end-of-stream/index.js", + "./node_modules/enhanced-resolve/lib/AliasFieldPlugin.js", + "./node_modules/enhanced-resolve/lib/AliasPlugin.js", + "./node_modules/enhanced-resolve/lib/AppendPlugin.js", + "./node_modules/enhanced-resolve/lib/CachedInputFileSystem.js", + "./node_modules/enhanced-resolve/lib/ConcordExtensionsPlugin.js", + "./node_modules/enhanced-resolve/lib/ConcordMainPlugin.js", + "./node_modules/enhanced-resolve/lib/ConcordModulesPlugin.js", + "./node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js", + "./node_modules/enhanced-resolve/lib/DescriptionFileUtils.js", + "./node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js", + "./node_modules/enhanced-resolve/lib/FileExistsPlugin.js", + "./node_modules/enhanced-resolve/lib/FileKindPlugin.js", + "./node_modules/enhanced-resolve/lib/JoinRequestPlugin.js", + "./node_modules/enhanced-resolve/lib/MainFieldPlugin.js", + "./node_modules/enhanced-resolve/lib/ModuleAppendPlugin.js", + "./node_modules/enhanced-resolve/lib/ModuleKindPlugin.js", + "./node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js", + "./node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js", + "./node_modules/enhanced-resolve/lib/NextPlugin.js", + "./node_modules/enhanced-resolve/lib/ParsePlugin.js", + "./node_modules/enhanced-resolve/lib/ResolverFactory.js", + "./node_modules/enhanced-resolve/lib/RestrictionsPlugin.js", + "./node_modules/enhanced-resolve/lib/ResultPlugin.js", + "./node_modules/enhanced-resolve/lib/RootPlugin.js", + "./node_modules/enhanced-resolve/lib/SymlinkPlugin.js", + "./node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js", + "./node_modules/enhanced-resolve/lib/TryNextPlugin.js", + "./node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js", + "./node_modules/enhanced-resolve/lib/UseFilePlugin.js", + "./node_modules/enhanced-resolve/lib/concord.js", + "./node_modules/enhanced-resolve/lib/createInnerContext.js", + "./node_modules/enhanced-resolve/lib/forEachBail.js", + "./node_modules/enhanced-resolve/lib/getInnerRequest.js", + "./node_modules/enhanced-resolve/lib/getPaths.js", + "./node_modules/enhanced-resolve/lib/globToRegExp.js", + "./node_modules/enhanced-resolve/node_modules/memory-fs/lib/join.js", + "./node_modules/enhanced-resolve/node_modules/memory-fs/lib/normalize.js", "./node_modules/env-paths/index.js", + "./node_modules/errno/custom.js", "./node_modules/error-ex/index.js", "./node_modules/errorhandler/index.js", "./node_modules/es6-error/lib/index.js", @@ -1724,6 +2079,11 @@ "./node_modules/escape-string-applescript/index.js", "./node_modules/escape-string-regexp/index.js", "./node_modules/esprima/dist/esprima.js", + "./node_modules/esrecurse/esrecurse.js", + "./node_modules/esrecurse/node_modules/estraverse/estraverse.js", + "./node_modules/esrecurse/package.json", + "./node_modules/estraverse/estraverse.js", + "./node_modules/estraverse/package.json", "./node_modules/estree-to-babel/lib/comments.js", "./node_modules/estree-to-babel/lib/estree-to-babel.js", "./node_modules/estree-to-babel/lib/get-ast.js", @@ -1756,6 +2116,12 @@ "./node_modules/exif-parser/lib/jpeg.js", "./node_modules/exif-parser/lib/parser.js", "./node_modules/exif-parser/lib/simplify.js", + "./node_modules/expand-brackets/index.js", + "./node_modules/expand-brackets/lib/compilers.js", + "./node_modules/expand-brackets/lib/parsers.js", + "./node_modules/expand-brackets/lib/utils.js", + "./node_modules/expand-brackets/node_modules/debug/src/debug.js", + "./node_modules/expand-brackets/node_modules/ms/index.js", "./node_modules/express-graphql/renderGraphiQL.js", "./node_modules/express/index.js", "./node_modules/express/lib/express.js", @@ -1781,10 +2147,18 @@ "./node_modules/express/node_modules/qs/lib/utils.js", "./node_modules/ext-list/index.js", "./node_modules/ext-name/index.js", + "./node_modules/extend-shallow/index.js", "./node_modules/extend/index.js", + "./node_modules/extglob/index.js", + "./node_modules/extglob/lib/compilers.js", + "./node_modules/extglob/lib/extglob.js", + "./node_modules/extglob/lib/parsers.js", + "./node_modules/extglob/lib/utils.js", + "./node_modules/extglob/node_modules/define-property/index.js", "./node_modules/extract-zip/index.js", "./node_modules/extract-zip/node_modules/get-stream/index.js", "./node_modules/extsprintf/lib/extsprintf.js", + "./node_modules/fast-deep-equal/index.js", "./node_modules/fast-glob/out/index.js", "./node_modules/fast-glob/out/managers/patterns.js", "./node_modules/fast-glob/out/managers/tasks.js", @@ -1809,7 +2183,9 @@ "./node_modules/fast-glob/out/utils/pattern.js", "./node_modules/fast-glob/out/utils/stream.js", "./node_modules/fast-glob/out/utils/string.js", + "./node_modules/fast-json-stable-stringify/index.js", "./node_modules/fastq/queue.js", + "./node_modules/figgy-pudding/index.js", "./node_modules/filename-reserved-regex/index.js", "./node_modules/filenamify/filenamify-path.js", "./node_modules/filenamify/filenamify.js", @@ -1818,11 +2194,13 @@ "./node_modules/finalhandler/index.js", "./node_modules/finalhandler/node_modules/debug/src/debug.js", "./node_modules/finalhandler/node_modules/ms/index.js", + "./node_modules/find-cache-dir/index.js", "./node_modules/find-process/index.js", "./node_modules/find-process/lib/find.js", "./node_modules/find-process/lib/find_pid.js", "./node_modules/find-process/lib/find_process.js", "./node_modules/find-process/lib/utils.js", + "./node_modules/find-up/index.js", "./node_modules/firefox-profile/lib/firefox_profile.js", "./node_modules/firefox-profile/lib/profile_finder.js", "./node_modules/firefox-profile/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js", @@ -1892,8 +2270,10 @@ "./node_modules/fluent-ffmpeg/lib/processor.js", "./node_modules/fluent-ffmpeg/lib/recipes.js", "./node_modules/follow-redirects/debug.js", + "./node_modules/for-in/index.js", "./node_modules/form-data/lib/populate.js", "./node_modules/forwarded/index.js", + "./node_modules/fragment-cache/index.js", "./node_modules/fresh/index.js", "./node_modules/front-matter/node_modules/js-yaml/index.js", "./node_modules/front-matter/node_modules/js-yaml/lib/js-yaml.js", @@ -1948,6 +2328,8 @@ "./node_modules/fs-extra/lib/util/utimes.js", "./node_modules/fs-extra/node_modules/jsonfile/utils.js", "./node_modules/fs-extra/node_modules/universalify/index.js", + "./node_modules/fs-monkey/lib/correctPath.js", + "./node_modules/fs-monkey/lib/util/lists.js", "./node_modules/fs.realpath/index.js", "./node_modules/fs.realpath/old.js", "./node_modules/function-bind/implementation.js", @@ -2001,6 +2383,7 @@ "./node_modules/get-package-info/node_modules/read-pkg/index.js", "./node_modules/get-port/index.js", "./node_modules/get-stream/index.js", + "./node_modules/get-value/index.js", "./node_modules/getos/index.js", "./node_modules/getos/os.json", "./node_modules/gifwrap/src/bitmapimage.js", @@ -2207,6 +2590,9 @@ "./node_modules/growl/lib/growl.js", "./node_modules/has-flag/index.js", "./node_modules/has-symbols/shams.js", + "./node_modules/has-value/index.js", + "./node_modules/has-values/index.js", + "./node_modules/has-values/node_modules/kind-of/index.js", "./node_modules/has/src/index.js", "./node_modules/he/he.js", "./node_modules/hosted-git-info/git-host-info.js", @@ -2241,6 +2627,7 @@ "./node_modules/iconv-lite/encodings/utf7.js", "./node_modules/iconv-lite/lib/bom-handling.js", "./node_modules/iconv-lite/lib/extend-node.js", + "./node_modules/iferr/index.js", "./node_modules/image-q/dist/iq.js", "./node_modules/image-size/dist/detector.js", "./node_modules/image-size/dist/readUInt.js", @@ -2261,43 +2648,56 @@ "./node_modules/image-size/dist/types/svg.js", "./node_modules/image-size/dist/types/tiff.js", "./node_modules/image-size/dist/types/webp.js", + "./node_modules/imurmurhash/imurmurhash.js", + "./node_modules/infer-owner/index.js", "./node_modules/inflight/inflight.js", "./node_modules/inherits/inherits.js", "./node_modules/inherits/inherits_browser.js", "./node_modules/ini/ini.js", "./node_modules/ip-regex/index.js", "./node_modules/ipaddr.js/lib/ipaddr.js", + "./node_modules/is-accessor-descriptor/index.js", "./node_modules/is-arrayish/index.js", "./node_modules/is-binary-path/index.js", "./node_modules/is-buffer/index.js", "./node_modules/is-ci/index.js", "./node_modules/is-core-module/core.json", "./node_modules/is-core-module/index.js", + "./node_modules/is-data-descriptor/index.js", + "./node_modules/is-descriptor/index.js", "./node_modules/is-dotfile/index.js", + "./node_modules/is-extendable/index.js", "./node_modules/is-extglob/index.js", "./node_modules/is-fork-pr/src/index.js", "./node_modules/is-fullwidth-code-point/index.js", "./node_modules/is-glob/index.js", "./node_modules/is-html/index.js", + "./node_modules/is-number/index.js", + "./node_modules/is-number/node_modules/kind-of/index.js", "./node_modules/is-obj/index.js", "./node_modules/is-path-inside/index.js", "./node_modules/is-plain-obj/index.js", + "./node_modules/is-plain-object/index.js", "./node_modules/is-regexp/index.js", "./node_modules/is-stream/index.js", "./node_modules/is-typedarray/index.js", "./node_modules/is-url/index.js", + "./node_modules/is-windows/index.js", "./node_modules/is2/index.js", "./node_modules/is2/package.json", "./node_modules/isarray/index.js", "./node_modules/isbinaryfile/lib/index.js", "./node_modules/isexe/mode.js", "./node_modules/isexe/windows.js", + "./node_modules/isobject/index.js", "./node_modules/isstream/isstream.js", "./node_modules/iterall/index.js", "./node_modules/jetpack-id/index.js", "./node_modules/js-tokens/index.js", "./node_modules/jsesc/jsesc.js", "./node_modules/json-buffer/index.js", + "./node_modules/json-parse-better-errors/index.js", + "./node_modules/json-schema-traverse/index.js", "./node_modules/json-schema/lib/validate.js", "./node_modules/json-stringify-safe/stringify.js", "./node_modules/json5/lib/index.js", @@ -2308,6 +2708,7 @@ "./node_modules/jsonlint/lib/jsonlint.js", "./node_modules/jsprim/lib/jsprim.js", "./node_modules/junk/index.js", + "./node_modules/kind-of/index.js", "./node_modules/launch-editor/editor-info/linux.js", "./node_modules/launch-editor/editor-info/osx.js", "./node_modules/launch-editor/editor-info/windows.js", @@ -2318,6 +2719,10 @@ "./node_modules/load-bmfont/index.js", "./node_modules/load-bmfont/lib/is-binary.js", "./node_modules/load-bmfont/node_modules/buffer-equal/index.js", + "./node_modules/loader-runner/lib/LoaderLoadingError.js", + "./node_modules/loader-runner/lib/LoaderRunner.js", + "./node_modules/loader-runner/lib/loadLoader.js", + "./node_modules/locate-path/index.js", "./node_modules/lodash._baseassign/index.js", "./node_modules/lodash._basecopy/index.js", "./node_modules/lodash._basecreate/index.js", @@ -2506,12 +2911,31 @@ "./node_modules/lodash/toInteger.js", "./node_modules/lodash/toNumber.js", "./node_modules/lodash/toString.js", + "./node_modules/lru-cache/index.js", + "./node_modules/lru-cache/node_modules/yallist/iterator.js", + "./node_modules/lru-cache/node_modules/yallist/yallist.js", "./node_modules/make-error/index.js", + "./node_modules/map-cache/index.js", + "./node_modules/map-visit/index.js", "./node_modules/marionette-client/lib/marionette/message.js", "./node_modules/matcher/index.js", "./node_modules/matcher/node_modules/escape-string-regexp/index.js", "./node_modules/md5/md5.js", "./node_modules/media-typer/index.js", + "./node_modules/memfs/lib/Dirent.js", + "./node_modules/memfs/lib/Stats.js", + "./node_modules/memfs/lib/constants.js", + "./node_modules/memfs/lib/encoding.js", + "./node_modules/memfs/lib/getBigInt.js", + "./node_modules/memfs/lib/internal/buffer.js", + "./node_modules/memfs/lib/internal/errors.js", + "./node_modules/memfs/lib/node.js", + "./node_modules/memfs/lib/promises.js", + "./node_modules/memfs/lib/setImmediate.js", + "./node_modules/memfs/lib/setTimeoutUnref.js", + "./node_modules/memory-fs/lib/MemoryFileSystem.js", + "./node_modules/memory-fs/lib/join.js", + "./node_modules/memory-fs/lib/normalize.js", "./node_modules/merge-descriptors/index.js", "./node_modules/merge-stream/index.js", "./node_modules/merge2/index.js", @@ -2523,6 +2947,9 @@ "./node_modules/mimic-response/index.js", "./node_modules/min-indent/index.js", "./node_modules/minimist/index.js", + "./node_modules/mississippi/index.js", + "./node_modules/mixin-deep/index.js", + "./node_modules/mixin-deep/node_modules/is-extendable/index.js", "./node_modules/mkdirp/index.js", "./node_modules/mocha-7.0.1/lib/browser/progress.js", "./node_modules/mocha-7.0.1/lib/context.js", @@ -2603,9 +3030,21 @@ "./node_modules/mount-point/index.js", "./node_modules/mount-point/node_modules/@sindresorhus/df/index.js", "./node_modules/mount-point/node_modules/pify/index.js", + "./node_modules/move-concurrently/move.js", + "./node_modules/move-concurrently/node_modules/aproba/index.js", + "./node_modules/move-concurrently/node_modules/glob/common.js", + "./node_modules/move-concurrently/node_modules/rimraf/rimraf.js", "./node_modules/move-file/index.js", "./node_modules/move-file/node_modules/make-dir/index.js", "./node_modules/ms/index.js", + "./node_modules/nanomatch/index.js", + "./node_modules/nanomatch/lib/cache.js", + "./node_modules/nanomatch/lib/compilers.js", + "./node_modules/nanomatch/lib/parsers.js", + "./node_modules/nanomatch/lib/utils.js", + "./node_modules/nanomatch/node_modules/define-property/index.js", + "./node_modules/nanomatch/node_modules/extend-shallow/index.js", + "./node_modules/nanomatch/node_modules/is-extendable/index.js", "./node_modules/negotiator/index.js", "./node_modules/negotiator/lib/charset.js", "./node_modules/negotiator/lib/encoding.js", @@ -2675,9 +3114,13 @@ "./node_modules/npm-run-path/index.js", "./node_modules/npm-run-path/node_modules/path-key/index.js", "./node_modules/object-assign/index.js", + "./node_modules/object-copy/index.js", + "./node_modules/object-copy/node_modules/kind-of/index.js", "./node_modules/object-keys/implementation.js", "./node_modules/object-keys/index.js", "./node_modules/object-keys/isArguments.js", + "./node_modules/object-visit/index.js", + "./node_modules/object.pick/index.js", "./node_modules/omggif/omggif.js", "./node_modules/on-finished/index.js", "./node_modules/on-headers/index.js", @@ -2688,6 +3131,8 @@ "./node_modules/ospath/index.js", "./node_modules/p-defer/index.js", "./node_modules/p-finally/index.js", + "./node_modules/p-limit/index.js", + "./node_modules/p-locate/index.js", "./node_modules/p-map/index.js", "./node_modules/p-queue/dist/index.js", "./node_modules/p-queue/dist/lower-bound.js", @@ -2718,6 +3163,8 @@ "./node_modules/parse-glob/node_modules/is-extglob/index.js", "./node_modules/parse-glob/node_modules/is-glob/index.js", "./node_modules/parseurl/index.js", + "./node_modules/pascalcase/index.js", + "./node_modules/path-dirname/index.js", "./node_modules/path-exists/index.js", "./node_modules/path-is-absolute/index.js", "./node_modules/path-is-inside/lib/path-is-inside.js", @@ -2739,6 +3186,7 @@ "./node_modules/pify/index.js", "./node_modules/pinkie-promise/index.js", "./node_modules/pixelmatch/index.js", + "./node_modules/pkg-dir/index.js", "./node_modules/plist/index.js", "./node_modules/plist/lib/build.js", "./node_modules/plist/lib/parse.js", @@ -2761,6 +3209,8 @@ "./node_modules/pngjs/lib/parser.js", "./node_modules/pngjs/lib/png-sync.js", "./node_modules/pngjs/lib/sync-reader.js", + "./node_modules/pnp-webpack-plugin/resolver.js", + "./node_modules/posix-character-classes/index.js", "./node_modules/prepend-http/index.js", "./node_modules/prettier/doc.js", "./node_modules/prettier/package.json", @@ -2772,9 +3222,11 @@ "./node_modules/prettier/parser-yaml.js", "./node_modules/progress/index.js", "./node_modules/progress/lib/node-progress.js", + "./node_modules/promise-inflight/inflight.js", "./node_modules/proto-list/proto-list.js", "./node_modules/proxy-addr/index.js", "./node_modules/proxy-from-env/index.js", + "./node_modules/prr/prr.js", "./node_modules/pseudomap/pseudomap.js", "./node_modules/psl/data/rules.json", "./node_modules/psl/index.js", @@ -3189,13 +3641,39 @@ "./node_modules/react-docgen/node_modules/doctrine/lib/utility.js", "./node_modules/react-docgen/node_modules/doctrine/package.json", "./node_modules/readable-stream/lib/internal/streams/destroy.js", + "./node_modules/readdirp/node_modules/braces/index.js", + "./node_modules/readdirp/node_modules/braces/lib/braces.js", + "./node_modules/readdirp/node_modules/braces/lib/compilers.js", + "./node_modules/readdirp/node_modules/braces/lib/parsers.js", + "./node_modules/readdirp/node_modules/braces/lib/utils.js", + "./node_modules/readdirp/node_modules/braces/node_modules/extend-shallow/index.js", + "./node_modules/readdirp/node_modules/braces/node_modules/is-extendable/index.js", + "./node_modules/readdirp/node_modules/define-property/index.js", + "./node_modules/readdirp/node_modules/extend-shallow/index.js", + "./node_modules/readdirp/node_modules/fill-range/index.js", + "./node_modules/readdirp/node_modules/fill-range/node_modules/extend-shallow/index.js", + "./node_modules/readdirp/node_modules/fill-range/node_modules/is-extendable/index.js", + "./node_modules/readdirp/node_modules/is-extendable/index.js", + "./node_modules/readdirp/node_modules/micromatch/index.js", + "./node_modules/readdirp/node_modules/micromatch/lib/cache.js", + "./node_modules/readdirp/node_modules/micromatch/lib/compilers.js", + "./node_modules/readdirp/node_modules/micromatch/lib/parsers.js", + "./node_modules/readdirp/node_modules/micromatch/lib/utils.js", + "./node_modules/readdirp/node_modules/to-regex-range/index.js", + "./node_modules/readdirp/readdirp.js", "./node_modules/recast/parsers/_babel_options.js", "./node_modules/recast/parsers/babel.js", "./node_modules/recast/parsers/esprima.js", "./node_modules/recast/parsers/typescript.js", "./node_modules/regenerator-runtime/runtime.js", + "./node_modules/regex-not/index.js", + "./node_modules/regex-not/node_modules/extend-shallow/index.js", + "./node_modules/regex-not/node_modules/is-extendable/index.js", "./node_modules/registry-js/dist/lib/index.js", "./node_modules/registry-js/dist/lib/registry.js", + "./node_modules/remove-trailing-separator/index.js", + "./node_modules/repeat-element/index.js", + "./node_modules/repeat-string/index.js", "./node_modules/request-promise-core/configure/request2.js", "./node_modules/request-promise-core/errors.js", "./node_modules/request-promise-core/lib/errors.js", @@ -3232,7 +3710,16 @@ "./node_modules/run-applescript/node_modules/get-stream/index.js", "./node_modules/run-applescript/node_modules/path-key/index.js", "./node_modules/run-parallel/index.js", + "./node_modules/run-queue/node_modules/aproba/index.js", + "./node_modules/run-queue/queue.js", + "./node_modules/safe-regex/index.js", + "./node_modules/safe-regex/node_modules/ret/lib/index.js", + "./node_modules/safe-regex/node_modules/ret/lib/positions.js", + "./node_modules/safe-regex/node_modules/ret/lib/sets.js", + "./node_modules/safe-regex/node_modules/ret/lib/types.js", + "./node_modules/safe-regex/node_modules/ret/lib/util.js", "./node_modules/sanitize-filename/index.js", + "./node_modules/schema-utils/src/ValidationError.js", "./node_modules/semver-compare/index.js", "./node_modules/semver/classes/comparator.js", "./node_modules/semver/classes/range.js", @@ -3282,6 +3769,7 @@ "./node_modules/serialize-error/index.js", "./node_modules/serve-static/index.js", "./node_modules/server-destroy/index.js", + "./node_modules/set-value/index.js", "./node_modules/setprototypeof/index.js", "./node_modules/shebang-command/index.js", "./node_modules/shebang-regex/index.js", @@ -3301,8 +3789,43 @@ "./node_modules/signal-exit/index.js", "./node_modules/simple-swizzle/index.js", "./node_modules/simple-swizzle/node_modules/is-arrayish/index.js", + "./node_modules/snapdragon-node/index.js", + "./node_modules/snapdragon-node/node_modules/define-property/index.js", + "./node_modules/snapdragon-util/index.js", + "./node_modules/snapdragon-util/node_modules/kind-of/index.js", + "./node_modules/snapdragon/lib/compiler.js", + "./node_modules/snapdragon/lib/parser.js", + "./node_modules/snapdragon/lib/position.js", + "./node_modules/snapdragon/lib/source-maps.js", + "./node_modules/snapdragon/lib/utils.js", + "./node_modules/snapdragon/node_modules/debug/src/debug.js", + "./node_modules/snapdragon/node_modules/ms/index.js", + "./node_modules/snapdragon/node_modules/source-map/lib/array-set.js", + "./node_modules/snapdragon/node_modules/source-map/lib/base64-vlq.js", + "./node_modules/snapdragon/node_modules/source-map/lib/base64.js", + "./node_modules/snapdragon/node_modules/source-map/lib/binary-search.js", + "./node_modules/snapdragon/node_modules/source-map/lib/mapping-list.js", + "./node_modules/snapdragon/node_modules/source-map/lib/quick-sort.js", + "./node_modules/snapdragon/node_modules/source-map/lib/source-map-consumer.js", + "./node_modules/snapdragon/node_modules/source-map/lib/source-map-generator.js", + "./node_modules/snapdragon/node_modules/source-map/lib/source-node.js", + "./node_modules/snapdragon/node_modules/source-map/lib/util.js", + "./node_modules/snapdragon/node_modules/source-map/source-map.js", "./node_modules/sort-keys-length/index.js", "./node_modules/sort-keys-length/node_modules/sort-keys/index.js", + "./node_modules/source-list-map/lib/CodeNode.js", + "./node_modules/source-list-map/lib/MappingsContext.js", + "./node_modules/source-list-map/lib/SingleLineNode.js", + "./node_modules/source-list-map/lib/SourceListMap.js", + "./node_modules/source-list-map/lib/SourceNode.js", + "./node_modules/source-list-map/lib/base64-vlq.js", + "./node_modules/source-list-map/lib/fromStringWithSourceMap.js", + "./node_modules/source-list-map/lib/helpers.js", + "./node_modules/source-list-map/lib/index.js", + "./node_modules/source-map-resolve/lib/decode-uri-component.js", + "./node_modules/source-map-resolve/lib/resolve-url.js", + "./node_modules/source-map-resolve/lib/source-map-resolve-node.js", + "./node_modules/source-map-url/source-map-url.js", "./node_modules/source-map/lib/array-set.js", "./node_modules/source-map/lib/base64-vlq.js", "./node_modules/source-map/lib/base64.js", @@ -3321,12 +3844,17 @@ "./node_modules/spdx-expression-parse/scan.js", "./node_modules/spdx-license-ids/deprecated.json", "./node_modules/spdx-license-ids/index.json", + "./node_modules/split-string/index.js", + "./node_modules/split-string/node_modules/extend-shallow/index.js", + "./node_modules/split-string/node_modules/is-extendable/index.js", "./node_modules/squirrelly/dist/squirrelly.min.js", "./node_modules/sshpk/lib/ssh-buffer.js", "./node_modules/ssl-root-cas/ssl-root-cas.js", + "./node_modules/static-extend/index.js", "./node_modules/statuses/codes.json", "./node_modules/statuses/index.js", "./node_modules/stealthy-require/lib/index.js", + "./node_modules/stream-each/index.js", "./node_modules/stream-parser/index.js", "./node_modules/stream-parser/node_modules/debug/src/debug.js", "./node_modules/stream-parser/node_modules/ms/index.js", @@ -3340,6 +3868,7 @@ "./node_modules/strip-eof/index.js", "./node_modules/strip-final-newline/index.js", "./node_modules/strip-indent/index.js", + "./node_modules/strip-json-comments/index.js", "./node_modules/strip-outer/index.js", "./node_modules/sumchecker/index.js", "./node_modules/supports-color/node_modules/has-flag/index.js", @@ -3364,6 +3893,20 @@ "./node_modules/systeminformation/lib/virtualbox.js", "./node_modules/systeminformation/lib/wifi.js", "./node_modules/systeminformation/package.json", + "./node_modules/tapable/lib/AsyncParallelBailHook.js", + "./node_modules/tapable/lib/AsyncParallelHook.js", + "./node_modules/tapable/lib/AsyncSeriesBailHook.js", + "./node_modules/tapable/lib/AsyncSeriesHook.js", + "./node_modules/tapable/lib/AsyncSeriesWaterfallHook.js", + "./node_modules/tapable/lib/Hook.js", + "./node_modules/tapable/lib/HookCodeFactory.js", + "./node_modules/tapable/lib/HookMap.js", + "./node_modules/tapable/lib/MultiHook.js", + "./node_modules/tapable/lib/SyncBailHook.js", + "./node_modules/tapable/lib/SyncHook.js", + "./node_modules/tapable/lib/SyncLoopHook.js", + "./node_modules/tapable/lib/SyncWaterfallHook.js", + "./node_modules/tapable/lib/index.js", "./node_modules/tar-stream/headers.js", "./node_modules/tar-stream/index.js", "./node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js", @@ -3376,14 +3919,36 @@ "./node_modules/tcp-port-used/node_modules/debug/src/common.js", "./node_modules/tcp-port-used/node_modules/ms/index.js", "./node_modules/term-size/index.js", + "./node_modules/terser-webpack-plugin/dist/minify.js", + "./node_modules/terser-webpack-plugin/dist/options.json", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/path.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/rm.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/memoization.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/hash-to-segments.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/move-file.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/tmp.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/y.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/package.json", + "./node_modules/terser-webpack-plugin/node_modules/cacache/rm.js", + "./node_modules/terser-webpack-plugin/node_modules/glob/common.js", + "./node_modules/terser-webpack-plugin/node_modules/rimraf/rimraf.js", + "./node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js", + "./node_modules/terser-webpack-plugin/node_modules/terser/package.json", + "./node_modules/terser-webpack-plugin/package.json", "./node_modules/textextensions/edition-es5/index.js", "./node_modules/through/index.js", "./node_modules/timm/lib/timm.js", "./node_modules/tinycolor2/tinycolor.js", "./node_modules/to-fast-properties/index.js", + "./node_modules/to-object-path/index.js", + "./node_modules/to-object-path/node_modules/kind-of/index.js", "./node_modules/to-readable-stream/index.js", "./node_modules/to-regex-range/index.js", "./node_modules/to-regex-range/node_modules/is-number/index.js", + "./node_modules/to-regex/index.js", + "./node_modules/to-regex/node_modules/define-property/index.js", + "./node_modules/to-regex/node_modules/extend-shallow/index.js", + "./node_modules/to-regex/node_modules/is-extendable/index.js", "./node_modules/toidentifier/index.js", "./node_modules/tough-cookie/lib/pathMatch.js", "./node_modules/tough-cookie/lib/permuteDomain.js", @@ -3440,6 +4005,28 @@ "./node_modules/ts-node/node_modules/diff/lib/util/distance-iterator.js", "./node_modules/ts-node/node_modules/diff/lib/util/params.js", "./node_modules/ts-node/package.json", + "./node_modules/tsconfig-package/dist/tsconfig.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/index.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/options.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/plugin.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk/source/templates.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk/source/util.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/enhanced-resolve/lib/createInnerContext.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/enhanced-resolve/lib/getInnerRequest.js", + "./node_modules/tsconfig-paths/lib/config-loader.js", + "./node_modules/tsconfig-paths/lib/filesystem.js", + "./node_modules/tsconfig-paths/lib/index.js", + "./node_modules/tsconfig-paths/lib/mapping-entry.js", + "./node_modules/tsconfig-paths/lib/match-path-async.js", + "./node_modules/tsconfig-paths/lib/match-path-sync.js", + "./node_modules/tsconfig-paths/lib/register.js", + "./node_modules/tsconfig-paths/lib/try-path.js", + "./node_modules/tsconfig-paths/lib/tsconfig-loader.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/index.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/parse.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/stringify.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/unicode.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/util.js", "./node_modules/tslib/tslib.js", "./node_modules/type-is/index.js", "./node_modules/typedarray/index.js", @@ -3510,12 +4097,22 @@ "./node_modules/underscore.string/unquote.js", "./node_modules/underscore.string/words.js", "./node_modules/underscore.string/wrap.js", + "./node_modules/union-value/index.js", + "./node_modules/unique-filename/index.js", + "./node_modules/unique-slug/index.js", "./node_modules/universalify/index.js", "./node_modules/unpipe/index.js", + "./node_modules/unset-value/index.js", + "./node_modules/unset-value/node_modules/has-value/index.js", + "./node_modules/unset-value/node_modules/has-value/node_modules/isobject/index.js", + "./node_modules/unset-value/node_modules/has-values/index.js", "./node_modules/unused-filename/index.js", "./node_modules/unused-filename/node_modules/path-exists/index.js", + "./node_modules/uri-js/dist/es5/uri.all.js", + "./node_modules/urix/index.js", "./node_modules/url-parse-lax/index.js", "./node_modules/url-parse/index.js", + "./node_modules/use/index.js", "./node_modules/utf8-stream/index.js", "./node_modules/utf8-stream/node_modules/isarray/index.js", "./node_modules/utils-merge/index.js", @@ -3529,10 +4126,323 @@ "./node_modules/value-or-promise/build/main/ValueOrPromise.js", "./node_modules/value-or-promise/build/main/index.js", "./node_modules/vary/index.js", + "./node_modules/watchpack-chokidar2/node_modules/anymatch/index.js", + "./node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path/index.js", + "./node_modules/watchpack-chokidar2/node_modules/binary-extensions/binary-extensions.json", + "./node_modules/watchpack-chokidar2/node_modules/braces/index.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/braces.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/compilers.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/parsers.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/utils.js", + "./node_modules/watchpack-chokidar2/node_modules/chokidar/lib/fsevents-handler.js", + "./node_modules/watchpack-chokidar2/node_modules/chokidar/lib/nodefs-handler.js", + "./node_modules/watchpack-chokidar2/node_modules/define-property/index.js", + "./node_modules/watchpack-chokidar2/node_modules/fill-range/index.js", + "./node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob/index.js", + "./node_modules/watchpack-chokidar2/node_modules/is-binary-path/index.js", + "./node_modules/watchpack-chokidar2/node_modules/is-extendable/index.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/index.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/cache.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/compilers.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/parsers.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/utils.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/node_modules/extend-shallow/index.js", + "./node_modules/watchpack-chokidar2/node_modules/to-regex-range/index.js", + "./node_modules/watchpack/lib/watcherManager.js", + "./node_modules/webpack-sources/lib/CachedSource.js", + "./node_modules/webpack-sources/lib/ConcatSource.js", + "./node_modules/webpack-sources/lib/LineToLineMappedSource.js", + "./node_modules/webpack-sources/lib/OriginalSource.js", + "./node_modules/webpack-sources/lib/PrefixSource.js", + "./node_modules/webpack-sources/lib/RawSource.js", + "./node_modules/webpack-sources/lib/ReplaceSource.js", + "./node_modules/webpack-sources/lib/Source.js", + "./node_modules/webpack-sources/lib/SourceAndMapMixin.js", + "./node_modules/webpack-sources/lib/SourceMapSource.js", + "./node_modules/webpack-sources/lib/applySourceMap.js", + "./node_modules/webpack-sources/lib/index.js", + "./node_modules/webpack/lib/APIPlugin.js", + "./node_modules/webpack/lib/AmdMainTemplatePlugin.js", + "./node_modules/webpack/lib/AsyncDependenciesBlock.js", + "./node_modules/webpack/lib/AutomaticPrefetchPlugin.js", + "./node_modules/webpack/lib/BannerPlugin.js", + "./node_modules/webpack/lib/BasicEvaluatedExpression.js", + "./node_modules/webpack/lib/CachePlugin.js", + "./node_modules/webpack/lib/ChunkGroup.js", + "./node_modules/webpack/lib/CommonJsStuffPlugin.js", + "./node_modules/webpack/lib/CompatibilityPlugin.js", + "./node_modules/webpack/lib/ConstPlugin.js", + "./node_modules/webpack/lib/ContextExclusionPlugin.js", + "./node_modules/webpack/lib/ContextReplacementPlugin.js", + "./node_modules/webpack/lib/DefinePlugin.js", + "./node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js", + "./node_modules/webpack/lib/DependenciesBlock.js", + "./node_modules/webpack/lib/DependenciesBlockVariable.js", + "./node_modules/webpack/lib/DllEntryPlugin.js", + "./node_modules/webpack/lib/DllPlugin.js", + "./node_modules/webpack/lib/DynamicEntryPlugin.js", + "./node_modules/webpack/lib/EntryOptionPlugin.js", + "./node_modules/webpack/lib/Entrypoint.js", + "./node_modules/webpack/lib/EnvironmentPlugin.js", + "./node_modules/webpack/lib/ErrorHelpers.js", + "./node_modules/webpack/lib/EvalDevToolModulePlugin.js", + "./node_modules/webpack/lib/EvalDevToolModuleTemplatePlugin.js", + "./node_modules/webpack/lib/EvalSourceMapDevToolModuleTemplatePlugin.js", + "./node_modules/webpack/lib/EvalSourceMapDevToolPlugin.js", + "./node_modules/webpack/lib/ExportPropertyMainTemplatePlugin.js", + "./node_modules/webpack/lib/ExtendedAPIPlugin.js", + "./node_modules/webpack/lib/ExternalModuleFactoryPlugin.js", + "./node_modules/webpack/lib/ExternalsPlugin.js", + "./node_modules/webpack/lib/FlagAllModulesAsUsedPlugin.js", + "./node_modules/webpack/lib/FlagDependencyExportsPlugin.js", + "./node_modules/webpack/lib/FlagDependencyUsagePlugin.js", + "./node_modules/webpack/lib/FunctionModulePlugin.js", + "./node_modules/webpack/lib/FunctionModuleTemplatePlugin.js", + "./node_modules/webpack/lib/Generator.js", + "./node_modules/webpack/lib/GraphHelpers.js", + "./node_modules/webpack/lib/HashedModuleIdsPlugin.js", + "./node_modules/webpack/lib/HotModuleReplacement.runtime.js", + "./node_modules/webpack/lib/HotModuleReplacementPlugin.js", + "./node_modules/webpack/lib/IgnorePlugin.js", + "./node_modules/webpack/lib/JavascriptGenerator.js", + "./node_modules/webpack/lib/JavascriptModulesPlugin.js", + "./node_modules/webpack/lib/JsonGenerator.js", + "./node_modules/webpack/lib/JsonModulesPlugin.js", + "./node_modules/webpack/lib/JsonParser.js", + "./node_modules/webpack/lib/LibManifestPlugin.js", + "./node_modules/webpack/lib/LibraryTemplatePlugin.js", + "./node_modules/webpack/lib/LoaderOptionsPlugin.js", + "./node_modules/webpack/lib/LoaderTargetPlugin.js", + "./node_modules/webpack/lib/MemoryOutputFileSystem.js", + "./node_modules/webpack/lib/ModuleFilenameHelpers.js", + "./node_modules/webpack/lib/ModuleReason.js", + "./node_modules/webpack/lib/MultiEntryPlugin.js", + "./node_modules/webpack/lib/MultiStats.js", + "./node_modules/webpack/lib/MultiWatching.js", + "./node_modules/webpack/lib/NamedChunksPlugin.js", + "./node_modules/webpack/lib/NamedModulesPlugin.js", + "./node_modules/webpack/lib/NoEmitOnErrorsPlugin.js", + "./node_modules/webpack/lib/NodeStuffPlugin.js", + "./node_modules/webpack/lib/NormalModuleReplacementPlugin.js", + "./node_modules/webpack/lib/NullFactory.js", + "./node_modules/webpack/lib/OptionsApply.js", + "./node_modules/webpack/lib/OptionsDefaulter.js", + "./node_modules/webpack/lib/ParserHelpers.js", + "./node_modules/webpack/lib/PrefetchPlugin.js", + "./node_modules/webpack/lib/ProgressPlugin.js", + "./node_modules/webpack/lib/ProvidePlugin.js", + "./node_modules/webpack/lib/RecordIdsPlugin.js", + "./node_modules/webpack/lib/RequestShortener.js", + "./node_modules/webpack/lib/RequireJsStuffPlugin.js", + "./node_modules/webpack/lib/RuleSet.js", + "./node_modules/webpack/lib/RuntimeTemplate.js", + "./node_modules/webpack/lib/SetVarMainTemplatePlugin.js", + "./node_modules/webpack/lib/SingleEntryPlugin.js", + "./node_modules/webpack/lib/SizeFormatHelpers.js", + "./node_modules/webpack/lib/SourceMapDevToolModuleOptionsPlugin.js", + "./node_modules/webpack/lib/SourceMapDevToolPlugin.js", + "./node_modules/webpack/lib/Stats.js", + "./node_modules/webpack/lib/SystemMainTemplatePlugin.js", + "./node_modules/webpack/lib/Template.js", + "./node_modules/webpack/lib/TemplatedPathPlugin.js", + "./node_modules/webpack/lib/UmdMainTemplatePlugin.js", + "./node_modules/webpack/lib/UseStrictPlugin.js", + "./node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js", + "./node_modules/webpack/lib/WarnNoModeSetPlugin.js", + "./node_modules/webpack/lib/WatchIgnorePlugin.js", + "./node_modules/webpack/lib/Watching.js", + "./node_modules/webpack/lib/WebpackOptionsApply.js", + "./node_modules/webpack/lib/WebpackOptionsDefaulter.js", + "./node_modules/webpack/lib/buildChunkGraph.js", + "./node_modules/webpack/lib/compareLocations.js", + "./node_modules/webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/AMDPlugin.js", + "./node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlock.js", + "./node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js", + "./node_modules/webpack/lib/dependencies/CommonJsPlugin.js", + "./node_modules/webpack/lib/dependencies/CommonJsRequireDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/ContextDependencyHelpers.js", + "./node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsId.js", + "./node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsRequireCall.js", + "./node_modules/webpack/lib/dependencies/DependencyReference.js", + "./node_modules/webpack/lib/dependencies/HarmonyDetectionParserPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js", + "./node_modules/webpack/lib/dependencies/ImportDependenciesBlock.js", + "./node_modules/webpack/lib/dependencies/ImportParserPlugin.js", + "./node_modules/webpack/lib/dependencies/ImportPlugin.js", + "./node_modules/webpack/lib/dependencies/LoaderPlugin.js", + "./node_modules/webpack/lib/dependencies/LocalModule.js", + "./node_modules/webpack/lib/dependencies/LocalModulesHelpers.js", + "./node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsId.js", + "./node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsRequireId.js", + "./node_modules/webpack/lib/dependencies/RequireContextDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireContextPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlock.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js", + "./node_modules/webpack/lib/dependencies/RequireIncludeDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireIncludePlugin.js", + "./node_modules/webpack/lib/dependencies/RequireResolveDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/WebpackMissingModule.js", + "./node_modules/webpack/lib/dependencies/getFunctionExpression.js", + "./node_modules/webpack/lib/formatLocation.js", + "./node_modules/webpack/lib/logging/Logger.js", + "./node_modules/webpack/lib/logging/createConsoleLogger.js", + "./node_modules/webpack/lib/logging/truncateArgs.js", + "./node_modules/webpack/lib/node/NodeChunkTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeEnvironmentPlugin.js", + "./node_modules/webpack/lib/node/NodeHotUpdateChunkTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeMainTemplate.runtime.js", + "./node_modules/webpack/lib/node/NodeMainTemplateAsync.runtime.js", + "./node_modules/webpack/lib/node/NodeMainTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeOutputFileSystem.js", + "./node_modules/webpack/lib/node/NodeSourcePlugin.js", + "./node_modules/webpack/lib/node/NodeTargetPlugin.js", + "./node_modules/webpack/lib/node/NodeTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeWatchFileSystem.js", + "./node_modules/webpack/lib/node/ReadFileCompileWasmTemplatePlugin.js", + "./node_modules/webpack/lib/optimize/AggressiveMergingPlugin.js", + "./node_modules/webpack/lib/optimize/AggressiveSplittingPlugin.js", + "./node_modules/webpack/lib/optimize/ChunkModuleIdRangePlugin.js", + "./node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js", + "./node_modules/webpack/lib/optimize/FlagIncludedChunksPlugin.js", + "./node_modules/webpack/lib/optimize/LimitChunkCountPlugin.js", + "./node_modules/webpack/lib/optimize/MergeDuplicateChunksPlugin.js", + "./node_modules/webpack/lib/optimize/MinChunkSizePlugin.js", + "./node_modules/webpack/lib/optimize/ModuleConcatenationPlugin.js", + "./node_modules/webpack/lib/optimize/NaturalChunkOrderPlugin.js", + "./node_modules/webpack/lib/optimize/OccurrenceChunkOrderPlugin.js", + "./node_modules/webpack/lib/optimize/OccurrenceModuleOrderPlugin.js", + "./node_modules/webpack/lib/optimize/OccurrenceOrderPlugin.js", + "./node_modules/webpack/lib/optimize/RemoveEmptyChunksPlugin.js", + "./node_modules/webpack/lib/optimize/RemoveParentModulesPlugin.js", + "./node_modules/webpack/lib/optimize/RuntimeChunkPlugin.js", + "./node_modules/webpack/lib/optimize/SideEffectsFlagPlugin.js", + "./node_modules/webpack/lib/optimize/SplitChunksPlugin.js", + "./node_modules/webpack/lib/performance/SizeLimitsPlugin.js", + "./node_modules/webpack/lib/util/LazyBucketSortedSet.js", + "./node_modules/webpack/lib/util/Queue.js", + "./node_modules/webpack/lib/util/Semaphore.js", + "./node_modules/webpack/lib/util/SetHelpers.js", + "./node_modules/webpack/lib/util/SortableSet.js", + "./node_modules/webpack/lib/util/cleverMerge.js", + "./node_modules/webpack/lib/util/createHash.js", + "./node_modules/webpack/lib/util/deterministicGrouping.js", + "./node_modules/webpack/lib/util/identifier.js", + "./node_modules/webpack/lib/util/objectToMap.js", + "./node_modules/webpack/lib/wasm/WasmFinalizeExportsPlugin.js", + "./node_modules/webpack/lib/wasm/WasmMainTemplatePlugin.js", + "./node_modules/webpack/lib/wasm/WebAssemblyGenerator.js", + "./node_modules/webpack/lib/wasm/WebAssemblyJavascriptGenerator.js", + "./node_modules/webpack/lib/wasm/WebAssemblyModulesPlugin.js", + "./node_modules/webpack/lib/wasm/WebAssemblyUtils.js", + "./node_modules/webpack/lib/web/FetchCompileWasmTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpChunkTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpExportMainTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpHotUpdateChunkTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpMainTemplate.runtime.js", + "./node_modules/webpack/lib/web/JsonpMainTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerChunkTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerMainTemplate.runtime.js", + "./node_modules/webpack/lib/webworker/WebWorkerMainTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerTemplatePlugin.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/webpack/node_modules/@webassemblyjs/floating-point-hex-parser/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-api-error/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-buffer/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-code-frame/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-fsm/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-section/lib/create.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-section/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-section/lib/remove.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-section/lib/resize.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ieee754/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/leb128/lib/bits.js", + "./node_modules/webpack/node_modules/@webassemblyjs/leb128/lib/bufs.js", + "./node_modules/webpack/node_modules/@webassemblyjs/leb128/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/leb128/lib/leb.js", + "./node_modules/webpack/node_modules/@webassemblyjs/utf8/lib/decoder.js", + "./node_modules/webpack/node_modules/@webassemblyjs/utf8/lib/encoder.js", + "./node_modules/webpack/node_modules/@webassemblyjs/utf8/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wasm-edit/lib/apply.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wasm-edit/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wasm-gen/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wasm-opt/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wasm-opt/lib/leb128.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wasm-parser/lib/decoder.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wasm-parser/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wast-parser/lib/grammar.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wast-parser/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wast-parser/lib/number-literals.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wast-parser/lib/string-literals.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wast-parser/lib/tokenizer.js", + "./node_modules/webpack/node_modules/@webassemblyjs/wast-printer/lib/index.js", + "./node_modules/webpack/node_modules/braces/index.js", + "./node_modules/webpack/node_modules/braces/lib/braces.js", + "./node_modules/webpack/node_modules/braces/lib/compilers.js", + "./node_modules/webpack/node_modules/braces/lib/parsers.js", + "./node_modules/webpack/node_modules/braces/lib/utils.js", + "./node_modules/webpack/node_modules/braces/node_modules/extend-shallow/index.js", + "./node_modules/webpack/node_modules/braces/node_modules/is-extendable/index.js", + "./node_modules/webpack/node_modules/define-property/index.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/definition.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/index.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/pattern-visitor.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/reference.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/referencer.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/scope-manager.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/scope.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/variable.js", + "./node_modules/webpack/node_modules/eslint-scope/package.json", + "./node_modules/webpack/node_modules/extend-shallow/index.js", + "./node_modules/webpack/node_modules/fill-range/index.js", + "./node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow/index.js", + "./node_modules/webpack/node_modules/fill-range/node_modules/is-extendable/index.js", + "./node_modules/webpack/node_modules/is-extendable/index.js", + "./node_modules/webpack/node_modules/micromatch/index.js", + "./node_modules/webpack/node_modules/micromatch/lib/cache.js", + "./node_modules/webpack/node_modules/micromatch/lib/compilers.js", + "./node_modules/webpack/node_modules/micromatch/lib/parsers.js", + "./node_modules/webpack/node_modules/micromatch/lib/utils.js", + "./node_modules/webpack/node_modules/to-regex-range/index.js", + "./node_modules/webpack/package.json", + "./node_modules/webpack/schemas/WebpackOptions.json", + "./node_modules/webpack/schemas/ajv.absolutePath.js", + "./node_modules/webpack/schemas/plugins/BannerPlugin.json", + "./node_modules/webpack/schemas/plugins/DllPlugin.json", + "./node_modules/webpack/schemas/plugins/DllReferencePlugin.json", + "./node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.json", + "./node_modules/webpack/schemas/plugins/IgnorePlugin.json", + "./node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.json", + "./node_modules/webpack/schemas/plugins/ProgressPlugin.json", + "./node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.json", + "./node_modules/webpack/schemas/plugins/WatchIgnorePlugin.json", + "./node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/OccurrenceOrderChunkIdsPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/OccurrenceOrderModuleIdsPlugin.json", "./node_modules/which/which.js", "./node_modules/widest-line/index.js", "./node_modules/win-version-info/index.js", "./node_modules/wonka/dist/wonka.js", + "./node_modules/worker-farm/lib/index.js", "./node_modules/wrappy/wrappy.js", "./node_modules/xdg-trashdir/index.js", "./node_modules/xdg-trashdir/node_modules/pify/index.js", @@ -3599,10 +4509,13 @@ "./node_modules/xmlbuilder/lib/XMLWriterBase.js", "./node_modules/xmlbuilder/lib/index.js", "./node_modules/xtend/immutable.js", + "./node_modules/y18n/index.js", "./node_modules/yallist/iterator.js", "./node_modules/yallist/yallist.js", "./node_modules/yn/index.js", "./node_modules/yn/lenient.js", + "./npm/webpack-batteries-included-preprocessor/empty.js", + "./npm/webpack-preprocessor/dist/lib/typescript-overrides.js", "./package.json", "./packages/config/node_modules/@babel/traverse/lib/cache.js", "./packages/config/node_modules/@babel/traverse/lib/hub.js", @@ -4312,5 +5225,5 @@ "./tooling/v8-snapshot/cache/darwin/snapshot-entry.js" ], "deferredHashFile": "yarn.lock", - "deferredHash": "1e1cdbc2bd022450246378229f01fad8593a9c52be60e43ced5ba9fd685ead92" + "deferredHash": "c655e53f40f5538c142d8871cbd730041b4327f276887a40d4fb62447a982a3b" } \ No newline at end of file diff --git a/tooling/v8-snapshot/cache/linux/snapshot-meta.json b/tooling/v8-snapshot/cache/linux/snapshot-meta.json index d002f105709c..d119c2cbd765 100644 --- a/tooling/v8-snapshot/cache/linux/snapshot-meta.json +++ b/tooling/v8-snapshot/cache/linux/snapshot-meta.json @@ -45,7 +45,9 @@ "./node_modules/send/node_modules/debug/src/node.js", "./node_modules/stream-parser/node_modules/debug/src/node.js", "./node_modules/tcp-port-used/node_modules/debug/src/node.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/fix-owner.js", "./node_modules/trash/node_modules/make-dir/index.js", + "./node_modules/tsconfig-paths/lib/options.js", "./node_modules/utif/UTIF.js", "./packages/config/node_modules/@babel/traverse/lib/path/comments.js", "./packages/config/node_modules/@babel/traverse/lib/path/conversion.js", @@ -215,6 +217,7 @@ "./node_modules/archiver/node_modules/readable-stream/readable.js", "./node_modules/array-uniq/index.js", "./node_modules/assert-plus/assert.js", + "./node_modules/base/index.js", "./node_modules/basic-auth/node_modules/safe-buffer/index.js", "./node_modules/bl/bl.js", "./node_modules/bl/node_modules/readable-stream/errors.js", @@ -227,9 +230,18 @@ "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js", "./node_modules/bl/node_modules/readable-stream/readable.js", "./node_modules/black-hole-stream/index.js", + "./node_modules/body-parser/index.js", + "./node_modules/body-parser/node_modules/debug/src/browser.js", + "./node_modules/body-parser/node_modules/debug/src/index.js", + "./node_modules/body-parser/node_modules/http-errors/index.js", "./node_modules/buffer-crc32/index.js", "./node_modules/buffer-from/index.js", "./node_modules/chalk/index.js", + "./node_modules/chokidar/index.js", + "./node_modules/chokidar/lib/constants.js", + "./node_modules/chokidar/lib/fsevents-handler.js", + "./node_modules/chokidar/lib/nodefs-handler.js", + "./node_modules/chokidar/node_modules/readdirp/index.js", "./node_modules/chrome-remote-interface/index.js", "./node_modules/chrome-remote-interface/lib/chrome.js", "./node_modules/chrome-remote-interface/node_modules/ws/index.js", @@ -263,6 +275,8 @@ "./node_modules/concat-stream/index.js", "./node_modules/config-chain/index.js", "./node_modules/convert-source-map/node_modules/safe-buffer/index.js", + "./node_modules/copy-concurrently/node_modules/glob/glob.js", + "./node_modules/copy-concurrently/node_modules/glob/sync.js", "./node_modules/cp-file/cp-file-error.js", "./node_modules/cp-file/fs.js", "./node_modules/cp-file/progress-emitter.js", @@ -294,9 +308,17 @@ "./node_modules/encoding/node_modules/iconv-lite/encodings/index.js", "./node_modules/encoding/node_modules/iconv-lite/encodings/internal.js", "./node_modules/encoding/node_modules/iconv-lite/lib/index.js", + "./node_modules/enhanced-resolve/lib/NodeJsInputFileSystem.js", + "./node_modules/enhanced-resolve/lib/Resolver.js", + "./node_modules/enhanced-resolve/lib/createInnerCallback.js", + "./node_modules/enhanced-resolve/lib/node.js", + "./node_modules/errno/errno.js", "./node_modules/esutils/lib/code.js", "./node_modules/evil-dns/evil-dns.js", "./node_modules/execa/node_modules/get-stream/buffer-stream.js", + "./node_modules/expand-brackets/node_modules/debug/src/browser.js", + "./node_modules/expand-brackets/node_modules/debug/src/index.js", + "./node_modules/expand-brackets/node_modules/debug/src/node.js", "./node_modules/express-graphql/index.js", "./node_modules/express-graphql/node_modules/http-errors/index.js", "./node_modules/express-graphql/parseBody.js", @@ -328,9 +350,11 @@ "./node_modules/fluent-ffmpeg/lib/fluent-ffmpeg.js", "./node_modules/fluent-ffmpeg/lib/utils.js", "./node_modules/fluent-ffmpeg/node_modules/async/dist/async.js", + "./node_modules/flush-write-stream/index.js", "./node_modules/follow-redirects/index.js", "./node_modules/forever-agent/index.js", "./node_modules/form-data/lib/form_data.js", + "./node_modules/from2/index.js", "./node_modules/front-matter/index.js", "./node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/loader.js", "./node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/default_full.js", @@ -341,6 +365,7 @@ "./node_modules/fs-extra/lib/json/index.js", "./node_modules/fs-extra/lib/json/jsonfile.js", "./node_modules/fs-extra/lib/path-exists/index.js", + "./node_modules/fs-write-stream-atomic/index.js", "./node_modules/galactus/node_modules/fs-extra/lib/fs/index.js", "./node_modules/galactus/node_modules/fs-extra/lib/index.js", "./node_modules/galactus/node_modules/fs-extra/lib/json/index.js", @@ -404,8 +429,12 @@ "./node_modules/make-dir/node_modules/semver/semver.js", "./node_modules/marionette-client/lib/marionette/index.js", "./node_modules/marionette-client/lib/marionette/marionette.js", + "./node_modules/memfs/lib/index.js", + "./node_modules/memfs/lib/process.js", + "./node_modules/memfs/lib/volume.js", "./node_modules/methods/index.js", "./node_modules/mime/mime.js", + "./node_modules/mississippi/node_modules/through2/through2.js", "./node_modules/mocha-7.0.1/index.js", "./node_modules/mocha-7.0.1/lib/hook.js", "./node_modules/mocha-7.0.1/lib/mocha.js", @@ -457,7 +486,10 @@ "./node_modules/morgan/index.js", "./node_modules/morgan/node_modules/debug/src/browser.js", "./node_modules/morgan/node_modules/debug/src/index.js", + "./node_modules/move-concurrently/node_modules/glob/glob.js", + "./node_modules/move-concurrently/node_modules/glob/sync.js", "./node_modules/move-file/node_modules/semver/semver.js", + "./node_modules/neo-async/async.js", "./node_modules/nested-error-stacks/index.js", "./node_modules/nexus/dist/core.js", "./node_modules/nexus/dist/definitions/list.js", @@ -512,6 +544,7 @@ "./node_modules/node-forge/lib/util.js", "./node_modules/node-forge/lib/x509.js", "./node_modules/node-gyp-build/index.js", + "./node_modules/node-libs-browser/index.js", "./node_modules/node-machine-id/dist/index.js", "./node_modules/normalize-package-data/node_modules/semver/semver.js", "./node_modules/npm-conf/lib/conf.js", @@ -520,6 +553,7 @@ "./node_modules/os-homedir/index.js", "./node_modules/pako/lib/utils/strings.js", "./node_modules/pako/lib/zlib/trees.js", + "./node_modules/parallel-transform/index.js", "./node_modules/performance-now/lib/performance-now.js", "./node_modules/phin/lib/phin.compiled.js", "./node_modules/picocolors/picocolors.js", @@ -541,6 +575,7 @@ "./node_modules/pseudomap/map.js", "./node_modules/pumpify/index.js", "./node_modules/queue/index.js", + "./node_modules/randombytes/index.js", "./node_modules/react-docgen/dist/babelParser.js", "./node_modules/react-docgen/dist/importer/index.js", "./node_modules/react-docgen/dist/importer/makeFsImporter.js", @@ -558,6 +593,7 @@ "./node_modules/readable-stream/readable.js", "./node_modules/readable-stream/transform.js", "./node_modules/readdir-glob/index.js", + "./node_modules/readdirp/stream-api.js", "./node_modules/recast/lib/comments.js", "./node_modules/recast/lib/fast-path.js", "./node_modules/recast/lib/lines.js", @@ -582,14 +618,21 @@ "./node_modules/safe-buffer/index.js", "./node_modules/safer-buffer/safer.js", "./node_modules/sax/lib/sax.js", + "./node_modules/schema-utils/src/index.js", + "./node_modules/schema-utils/src/validateOptions.js", "./node_modules/semaphore/lib/semaphore.js", "./node_modules/send/index.js", "./node_modules/send/node_modules/debug/src/browser.js", "./node_modules/send/node_modules/debug/src/index.js", + "./node_modules/serialize-javascript/index.js", "./node_modules/shell-env/node_modules/execa/lib/errname.js", "./node_modules/shell-env/node_modules/semver/semver.js", "./node_modules/signal-exit/signals.js", "./node_modules/simple-git/dist/cjs/index.js", + "./node_modules/snapdragon/index.js", + "./node_modules/snapdragon/node_modules/debug/src/browser.js", + "./node_modules/snapdragon/node_modules/debug/src/index.js", + "./node_modules/snapdragon/node_modules/debug/src/node.js", "./node_modules/socket.io-adapter/dist/index.js", "./node_modules/sprintf-js/src/sprintf.js", "./node_modules/sshpk/lib/algs.js", @@ -621,6 +664,7 @@ "./node_modules/supports-color/index.js", "./node_modules/systeminformation/lib/dockerSocket.js", "./node_modules/systeminformation/lib/util.js", + "./node_modules/tapable/lib/Tapable.js", "./node_modules/tar-stream/extract.js", "./node_modules/tar-stream/node_modules/readable-stream/errors.js", "./node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js", @@ -634,6 +678,24 @@ "./node_modules/tar-stream/pack.js", "./node_modules/tcp-port-used/node_modules/debug/src/browser.js", "./node_modules/tcp-port-used/node_modules/debug/src/index.js", + "./node_modules/terser-webpack-plugin/dist/TaskRunner.js", + "./node_modules/terser-webpack-plugin/dist/cjs.js", + "./node_modules/terser-webpack-plugin/dist/index.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/get.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/index.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/read.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/write.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/entry-index.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/verify.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/locales/en.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/ls.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/put.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/verify.js", + "./node_modules/terser-webpack-plugin/node_modules/chownr/chownr.js", + "./node_modules/terser-webpack-plugin/node_modules/glob/glob.js", + "./node_modules/terser-webpack-plugin/node_modules/glob/sync.js", + "./node_modules/terser-webpack-plugin/node_modules/is-wsl/index.js", + "./node_modules/terser-webpack-plugin/node_modules/ssri/index.js", "./node_modules/throttle/throttle.js", "./node_modules/tough-cookie/lib/cookie.js", "./node_modules/tough-cookie/lib/memstore.js", @@ -651,6 +713,8 @@ "./node_modules/ts-node/dist/index.js", "./node_modules/ts-node/dist/repl.js", "./node_modules/ts-node/dist/util.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/logger.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk/source/index.js", "./node_modules/tunnel-agent/index.js", "./node_modules/tunnel/index.js", "./node_modules/tunnel/lib/tunnel.js", @@ -658,6 +722,7 @@ "./node_modules/underscore.string/index.js", "./node_modules/underscore.string/sprintf.js", "./node_modules/underscore.string/vsprintf.js", + "./node_modules/upath/build/code/upath.js", "./node_modules/user-home/index.js", "./node_modules/utf8-stream/node_modules/readable-stream/lib/_stream_duplex.js", "./node_modules/utf8-stream/node_modules/readable-stream/lib/_stream_readable.js", @@ -666,10 +731,131 @@ "./node_modules/utf8-stream/node_modules/readable-stream/transform.js", "./node_modules/util-deprecate/node.js", "./node_modules/verror/lib/verror.js", + "./node_modules/watchpack-chokidar2/index.js", + "./node_modules/watchpack-chokidar2/node_modules/chokidar/index.js", + "./node_modules/watchpack-chokidar2/node_modules/chokidar/lib/fsevents-handler.js", + "./node_modules/watchpack-chokidar2/node_modules/glob-parent/index.js", + "./node_modules/watchpack/lib/DirectoryWatcher.js", + "./node_modules/watchpack/lib/chokidar.js", + "./node_modules/watchpack/lib/watchpack.js", + "./node_modules/webpack/lib/AbstractMethodError.js", + "./node_modules/webpack/lib/AsyncDependencyToInitialChunkError.js", + "./node_modules/webpack/lib/CaseSensitiveModulesWarning.js", + "./node_modules/webpack/lib/Chunk.js", + "./node_modules/webpack/lib/ChunkRenderError.js", + "./node_modules/webpack/lib/ChunkTemplate.js", + "./node_modules/webpack/lib/CommentCompilationWarning.js", + "./node_modules/webpack/lib/Compilation.js", + "./node_modules/webpack/lib/Compiler.js", + "./node_modules/webpack/lib/ConcurrentCompilationError.js", + "./node_modules/webpack/lib/ContextModule.js", + "./node_modules/webpack/lib/ContextModuleFactory.js", + "./node_modules/webpack/lib/DelegatedModule.js", + "./node_modules/webpack/lib/Dependency.js", + "./node_modules/webpack/lib/DllModule.js", + "./node_modules/webpack/lib/DllModuleFactory.js", + "./node_modules/webpack/lib/DllReferencePlugin.js", + "./node_modules/webpack/lib/EntryModuleNotFoundError.js", + "./node_modules/webpack/lib/ExternalModule.js", + "./node_modules/webpack/lib/HarmonyLinkingError.js", + "./node_modules/webpack/lib/HotUpdateChunk.js", + "./node_modules/webpack/lib/HotUpdateChunkTemplate.js", + "./node_modules/webpack/lib/MainTemplate.js", + "./node_modules/webpack/lib/Module.js", + "./node_modules/webpack/lib/ModuleBuildError.js", + "./node_modules/webpack/lib/ModuleDependencyError.js", + "./node_modules/webpack/lib/ModuleDependencyWarning.js", + "./node_modules/webpack/lib/ModuleError.js", + "./node_modules/webpack/lib/ModuleNotFoundError.js", + "./node_modules/webpack/lib/ModuleParseError.js", + "./node_modules/webpack/lib/ModuleTemplate.js", + "./node_modules/webpack/lib/ModuleWarning.js", + "./node_modules/webpack/lib/MultiCompiler.js", + "./node_modules/webpack/lib/MultiModule.js", + "./node_modules/webpack/lib/MultiModuleFactory.js", + "./node_modules/webpack/lib/NoModeWarning.js", + "./node_modules/webpack/lib/NormalModule.js", + "./node_modules/webpack/lib/NormalModuleFactory.js", + "./node_modules/webpack/lib/Parser.js", + "./node_modules/webpack/lib/RawModule.js", + "./node_modules/webpack/lib/RemovedPluginError.js", + "./node_modules/webpack/lib/ResolverFactory.js", + "./node_modules/webpack/lib/UnsupportedFeatureWarning.js", + "./node_modules/webpack/lib/WebpackError.js", + "./node_modules/webpack/lib/WebpackOptionsValidationError.js", + "./node_modules/webpack/lib/debug/ProfilingPlugin.js", + "./node_modules/webpack/lib/dependencies/AMDDefineDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireArrayDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireContextDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireItemDependency.js", + "./node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js", + "./node_modules/webpack/lib/dependencies/CommonJsRequireDependency.js", + "./node_modules/webpack/lib/dependencies/ConstDependency.js", + "./node_modules/webpack/lib/dependencies/ContextDependency.js", + "./node_modules/webpack/lib/dependencies/ContextElementDependency.js", + "./node_modules/webpack/lib/dependencies/CriticalDependencyWarning.js", + "./node_modules/webpack/lib/dependencies/DelegatedExportsDependency.js", + "./node_modules/webpack/lib/dependencies/DelegatedSourceDependency.js", + "./node_modules/webpack/lib/dependencies/DllEntryDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyAcceptImportDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyCompatibilityDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportHeaderDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportSpecifierDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportSideEffectDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyInitDependency.js", + "./node_modules/webpack/lib/dependencies/ImportContextDependency.js", + "./node_modules/webpack/lib/dependencies/ImportDependency.js", + "./node_modules/webpack/lib/dependencies/ImportEagerDependency.js", + "./node_modules/webpack/lib/dependencies/ImportWeakDependency.js", + "./node_modules/webpack/lib/dependencies/JsonExportsDependency.js", + "./node_modules/webpack/lib/dependencies/LoaderDependency.js", + "./node_modules/webpack/lib/dependencies/LocalModuleDependency.js", + "./node_modules/webpack/lib/dependencies/ModuleDependency.js", + "./node_modules/webpack/lib/dependencies/ModuleHotAcceptDependency.js", + "./node_modules/webpack/lib/dependencies/ModuleHotDeclineDependency.js", + "./node_modules/webpack/lib/dependencies/MultiEntryDependency.js", + "./node_modules/webpack/lib/dependencies/NullDependency.js", + "./node_modules/webpack/lib/dependencies/PrefetchDependency.js", + "./node_modules/webpack/lib/dependencies/RequireContextDependency.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureDependency.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureItemDependency.js", + "./node_modules/webpack/lib/dependencies/RequireHeaderDependency.js", + "./node_modules/webpack/lib/dependencies/RequireIncludeDependency.js", + "./node_modules/webpack/lib/dependencies/RequireResolveContextDependency.js", + "./node_modules/webpack/lib/dependencies/RequireResolveDependency.js", + "./node_modules/webpack/lib/dependencies/RequireResolveHeaderDependency.js", + "./node_modules/webpack/lib/dependencies/SingleEntryDependency.js", + "./node_modules/webpack/lib/dependencies/SystemPlugin.js", + "./node_modules/webpack/lib/dependencies/UnsupportedDependency.js", + "./node_modules/webpack/lib/dependencies/WebAssemblyExportImportedDependency.js", + "./node_modules/webpack/lib/dependencies/WebAssemblyImportDependency.js", + "./node_modules/webpack/lib/node/nodeConsole.js", + "./node_modules/webpack/lib/optimize/ConcatenatedModule.js", + "./node_modules/webpack/lib/optimize/MinMaxSizeWarning.js", + "./node_modules/webpack/lib/performance/AssetsOverSizeLimitWarning.js", + "./node_modules/webpack/lib/performance/EntrypointsOverSizeLimitWarning.js", + "./node_modules/webpack/lib/performance/NoAsyncChunksWarning.js", + "./node_modules/webpack/lib/util/StackedSetMap.js", + "./node_modules/webpack/lib/validateSchema.js", + "./node_modules/webpack/lib/wasm/UnsupportedWebAssemblyFeatureError.js", + "./node_modules/webpack/lib/wasm/WebAssemblyInInitialChunkError.js", + "./node_modules/webpack/lib/wasm/WebAssemblyParser.js", + "./node_modules/webpack/lib/webpack.js", + "./node_modules/worker-farm/lib/farm.js", + "./node_modules/worker-farm/lib/fork.js", "./node_modules/xdg-trashdir/node_modules/xdg-basedir/index.js", "./node_modules/xml2js/lib/xml2js.js", "./node_modules/yauzl/index.js", "./node_modules/zip-stream/index.js", + "./npm/webpack-batteries-included-preprocessor/index.js", + "./npm/webpack-preprocessor/dist/index.js", + "./npm/webpack-preprocessor/dist/lib/utils.js", "./packages/config/index.js", "./packages/config/node_modules/@babel/traverse/lib/context.js", "./packages/config/node_modules/@babel/traverse/lib/index.js", @@ -810,6 +996,7 @@ "./packages/server/lib/cloud/routes.ts", "./packages/server/lib/cloud/upload.ts", "./packages/server/lib/cloud/user.ts", + "./packages/server/lib/cross-origin/process-callback.ts", "./packages/server/lib/cypress.js", "./packages/server/lib/environment.js", "./packages/server/lib/files.js", @@ -897,6 +1084,8 @@ "./packages/server/node_modules/uuid/dist/v3.js", "./packages/server/node_modules/uuid/dist/v4.js", "./packages/server/node_modules/uuid/dist/v5.js", + "./packages/server/node_modules/webpack-virtual-modules/lib/index.js", + "./packages/server/node_modules/webpack-virtual-modules/lib/virtual-stats.js", "./packages/server/start-cypress.js", "./packages/server/v8-snapshot-entry.js", "./packages/socket/index.js", @@ -1301,6 +1490,141 @@ "./node_modules/@urql/exchange-graphcache/dist/7832a774.js", "./node_modules/@urql/exchange-graphcache/dist/urql-exchange-graphcache-extras.js", "./node_modules/@urql/exchange-graphcache/dist/urql-exchange-graphcache.js", + "./node_modules/@webassemblyjs/helper-code-frame/lib/index.js", + "./node_modules/@webassemblyjs/helper-fsm/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/helper-wasm-section/lib/create.js", + "./node_modules/@webassemblyjs/helper-wasm-section/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/lib/remove.js", + "./node_modules/@webassemblyjs/helper-wasm-section/lib/resize.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/helper-buffer/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ieee754/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/leb128/lib/bits.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/leb128/lib/bufs.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/leb128/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/leb128/lib/leb.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/utf8/lib/decoder.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/utf8/lib/encoder.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/utf8/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/wasm-gen/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/lib/apply.js", + "./node_modules/@webassemblyjs/wasm-edit/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/helper-buffer/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ieee754/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/leb128/lib/bits.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/leb128/lib/bufs.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/leb128/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/leb128/lib/leb.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/utf8/lib/decoder.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/utf8/lib/encoder.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/utf8/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/wasm-gen/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/lib/leb128.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/helper-buffer/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ieee754/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/leb128/lib/bits.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/leb128/lib/bufs.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/leb128/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/leb128/lib/leb.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/utf8/lib/decoder.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/utf8/lib/encoder.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/utf8/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/wasm-gen/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/lib/decoder.js", + "./node_modules/@webassemblyjs/wasm-parser/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/helper-api-error/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ieee754/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/leb128/lib/bits.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/leb128/lib/bufs.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/leb128/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/leb128/lib/leb.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/utf8/lib/decoder.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/utf8/lib/encoder.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/utf8/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/lib/grammar.js", + "./node_modules/@webassemblyjs/wast-parser/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/lib/number-literals.js", + "./node_modules/@webassemblyjs/wast-parser/lib/string-literals.js", + "./node_modules/@webassemblyjs/wast-parser/lib/tokenizer.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/wast-printer/lib/index.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@xtuc/ieee754/dist/index.cjs.js", + "./node_modules/@xtuc/long/src/long.js", "./node_modules/accepts/index.js", "./node_modules/acorn-node/index.js", "./node_modules/acorn-node/lib/bigint/index.js", @@ -1313,6 +1637,7 @@ "./node_modules/acorn-node/lib/static-class-features/index.js", "./node_modules/acorn-node/node_modules/acorn/dist/acorn.js", "./node_modules/acorn-walk/dist/walk.js", + "./node_modules/acorn/dist/acorn.js", "./node_modules/adm-zip/headers/entryHeader.js", "./node_modules/adm-zip/headers/index.js", "./node_modules/adm-zip/headers/mainHeader.js", @@ -1324,6 +1649,75 @@ "./node_modules/adm-zip/util/fileSystem.js", "./node_modules/adm-zip/zipEntry.js", "./node_modules/adm-zip/zipFile.js", + "./node_modules/ajv-errors/index.js", + "./node_modules/ajv-errors/lib/dotjs/errorMessage.js", + "./node_modules/ajv-keywords/index.js", + "./node_modules/ajv-keywords/keywords/_formatLimit.js", + "./node_modules/ajv-keywords/keywords/_util.js", + "./node_modules/ajv-keywords/keywords/allRequired.js", + "./node_modules/ajv-keywords/keywords/anyRequired.js", + "./node_modules/ajv-keywords/keywords/deepProperties.js", + "./node_modules/ajv-keywords/keywords/deepRequired.js", + "./node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js", + "./node_modules/ajv-keywords/keywords/dotjs/patternRequired.js", + "./node_modules/ajv-keywords/keywords/dotjs/switch.js", + "./node_modules/ajv-keywords/keywords/dynamicDefaults.js", + "./node_modules/ajv-keywords/keywords/formatMaximum.js", + "./node_modules/ajv-keywords/keywords/formatMinimum.js", + "./node_modules/ajv-keywords/keywords/index.js", + "./node_modules/ajv-keywords/keywords/instanceof.js", + "./node_modules/ajv-keywords/keywords/oneRequired.js", + "./node_modules/ajv-keywords/keywords/patternRequired.js", + "./node_modules/ajv-keywords/keywords/prohibited.js", + "./node_modules/ajv-keywords/keywords/range.js", + "./node_modules/ajv-keywords/keywords/regexp.js", + "./node_modules/ajv-keywords/keywords/select.js", + "./node_modules/ajv-keywords/keywords/switch.js", + "./node_modules/ajv-keywords/keywords/transform.js", + "./node_modules/ajv-keywords/keywords/typeof.js", + "./node_modules/ajv-keywords/keywords/uniqueItemProperties.js", + "./node_modules/ajv/lib/ajv.js", + "./node_modules/ajv/lib/cache.js", + "./node_modules/ajv/lib/compile/async.js", + "./node_modules/ajv/lib/compile/error_classes.js", + "./node_modules/ajv/lib/compile/formats.js", + "./node_modules/ajv/lib/compile/index.js", + "./node_modules/ajv/lib/compile/resolve.js", + "./node_modules/ajv/lib/compile/rules.js", + "./node_modules/ajv/lib/compile/schema_obj.js", + "./node_modules/ajv/lib/compile/ucs2length.js", + "./node_modules/ajv/lib/compile/util.js", + "./node_modules/ajv/lib/data.js", + "./node_modules/ajv/lib/definition_schema.js", + "./node_modules/ajv/lib/dotjs/_limit.js", + "./node_modules/ajv/lib/dotjs/_limitItems.js", + "./node_modules/ajv/lib/dotjs/_limitLength.js", + "./node_modules/ajv/lib/dotjs/_limitProperties.js", + "./node_modules/ajv/lib/dotjs/allOf.js", + "./node_modules/ajv/lib/dotjs/anyOf.js", + "./node_modules/ajv/lib/dotjs/comment.js", + "./node_modules/ajv/lib/dotjs/const.js", + "./node_modules/ajv/lib/dotjs/contains.js", + "./node_modules/ajv/lib/dotjs/custom.js", + "./node_modules/ajv/lib/dotjs/dependencies.js", + "./node_modules/ajv/lib/dotjs/enum.js", + "./node_modules/ajv/lib/dotjs/format.js", + "./node_modules/ajv/lib/dotjs/if.js", + "./node_modules/ajv/lib/dotjs/index.js", + "./node_modules/ajv/lib/dotjs/items.js", + "./node_modules/ajv/lib/dotjs/multipleOf.js", + "./node_modules/ajv/lib/dotjs/not.js", + "./node_modules/ajv/lib/dotjs/oneOf.js", + "./node_modules/ajv/lib/dotjs/pattern.js", + "./node_modules/ajv/lib/dotjs/properties.js", + "./node_modules/ajv/lib/dotjs/propertyNames.js", + "./node_modules/ajv/lib/dotjs/ref.js", + "./node_modules/ajv/lib/dotjs/required.js", + "./node_modules/ajv/lib/dotjs/uniqueItems.js", + "./node_modules/ajv/lib/dotjs/validate.js", + "./node_modules/ajv/lib/keyword.js", + "./node_modules/ajv/lib/refs/data.json", + "./node_modules/ajv/lib/refs/json-schema-draft-07.json", "./node_modules/ansi-regex/index.js", "./node_modules/ansi-styles/index.js", "./node_modules/ansi_up/ansi_up.js", @@ -1341,13 +1735,18 @@ "./node_modules/archiver/node_modules/readable-stream/lib/internal/streams/from.js", "./node_modules/archiver/node_modules/readable-stream/lib/internal/streams/pipeline.js", "./node_modules/archiver/node_modules/readable-stream/lib/internal/streams/state.js", + "./node_modules/arr-diff/index.js", + "./node_modules/arr-flatten/index.js", + "./node_modules/arr-union/index.js", "./node_modules/array-union/index.js", + "./node_modules/array-unique/index.js", "./node_modules/asn1/lib/ber/errors.js", "./node_modules/asn1/lib/ber/index.js", "./node_modules/asn1/lib/ber/reader.js", "./node_modules/asn1/lib/ber/types.js", "./node_modules/asn1/lib/ber/writer.js", "./node_modules/asn1/lib/index.js", + "./node_modules/assign-symbols/index.js", "./node_modules/ast-types/def/babel-core.js", "./node_modules/ast-types/def/babel.js", "./node_modules/ast-types/def/core-operators.js", @@ -1375,6 +1774,7 @@ "./node_modules/ast-types/lib/types.js", "./node_modules/ast-types/main.js", "./node_modules/astral-regex/index.js", + "./node_modules/async-each/index.js", "./node_modules/asynckit/index.js", "./node_modules/asynckit/lib/abort.js", "./node_modules/asynckit/lib/async.js", @@ -1386,12 +1786,14 @@ "./node_modules/asynckit/serial.js", "./node_modules/asynckit/serialOrdered.js", "./node_modules/at-least-node/index.js", + "./node_modules/atob/node-atob.js", "./node_modules/author-regex/index.js", "./node_modules/aws-sign2/index.js", "./node_modules/aws4/aws4.js", "./node_modules/aws4/lru.js", "./node_modules/babylon/lib/index.js", "./node_modules/balanced-match/index.js", + "./node_modules/base/node_modules/define-property/index.js", "./node_modules/base64-js/index.js", "./node_modules/base64id/lib/base64id.js", "./node_modules/basic-auth/index.js", @@ -1406,6 +1808,23 @@ "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/from.js", "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/pipeline.js", "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/state.js", + "./node_modules/body-parser/lib/read.js", + "./node_modules/body-parser/lib/types/json.js", + "./node_modules/body-parser/lib/types/raw.js", + "./node_modules/body-parser/lib/types/text.js", + "./node_modules/body-parser/lib/types/urlencoded.js", + "./node_modules/body-parser/node_modules/bytes/index.js", + "./node_modules/body-parser/node_modules/debug/src/debug.js", + "./node_modules/body-parser/node_modules/inherits/inherits.js", + "./node_modules/body-parser/node_modules/inherits/inherits_browser.js", + "./node_modules/body-parser/node_modules/ms/index.js", + "./node_modules/body-parser/node_modules/qs/lib/formats.js", + "./node_modules/body-parser/node_modules/qs/lib/index.js", + "./node_modules/body-parser/node_modules/qs/lib/parse.js", + "./node_modules/body-parser/node_modules/qs/lib/stringify.js", + "./node_modules/body-parser/node_modules/qs/lib/utils.js", + "./node_modules/body-parser/node_modules/raw-body/index.js", + "./node_modules/body-parser/node_modules/setprototypeof/index.js", "./node_modules/boolean/build/lib/boolean.js", "./node_modules/brace-expansion/index.js", "./node_modules/braces/index.js", @@ -1420,6 +1839,7 @@ "./node_modules/browserslist/node.js", "./node_modules/browserslist/parse.js", "./node_modules/bytes/index.js", + "./node_modules/cache-base/index.js", "./node_modules/caniuse-lite/data/agents.js", "./node_modules/caniuse-lite/data/browserVersions.js", "./node_modules/caniuse-lite/data/browsers.js", @@ -1453,9 +1873,12 @@ "./node_modules/chrome-remote-interface/node_modules/ws/lib/sender.js", "./node_modules/chrome-remote-interface/node_modules/ws/lib/stream.js", "./node_modules/chrome-remote-interface/node_modules/ws/lib/validation.js", + "./node_modules/chrome-trace-event/dist/trace-event.js", + "./node_modules/chrome-trace-event/node_modules/tslib/tslib.js", "./node_modules/ci-info/index.js", "./node_modules/ci-info/vendors.json", "./node_modules/circular-json/build/circular-json.node.js", + "./node_modules/class-utils/index.js", "./node_modules/cli-truncate/index.js", "./node_modules/cli-truncate/node_modules/is-fullwidth-code-point/index.js", "./node_modules/cli-truncate/node_modules/slice-ansi/index.js", @@ -1466,6 +1889,7 @@ "./node_modules/coffeescript/lib/coffee-script/scope.js", "./node_modules/coffeescript/lib/coffee-script/sourcemap.js", "./node_modules/coffeescript/package.json", + "./node_modules/collection-visit/index.js", "./node_modules/color-convert/conversions.js", "./node_modules/color-convert/index.js", "./node_modules/color-convert/route.js", @@ -1531,6 +1955,7 @@ "./node_modules/common-tags/lib/stripIndents/stripIndents.js", "./node_modules/common-tags/lib/trimResultTransformer/index.js", "./node_modules/common-tags/lib/trimResultTransformer/trimResultTransformer.js", + "./node_modules/commondir/index.js", "./node_modules/component-emitter/index.js", "./node_modules/compress-commons/lib/archivers/archive-entry.js", "./node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js", @@ -1555,6 +1980,12 @@ "./node_modules/cookie-parser/node_modules/cookie/index.js", "./node_modules/cookie-signature/index.js", "./node_modules/cookie/index.js", + "./node_modules/copy-concurrently/copy.js", + "./node_modules/copy-concurrently/is-windows.js", + "./node_modules/copy-concurrently/node_modules/aproba/index.js", + "./node_modules/copy-concurrently/node_modules/glob/common.js", + "./node_modules/copy-concurrently/node_modules/rimraf/rimraf.js", + "./node_modules/copy-descriptor/index.js", "./node_modules/core-util-is/lib/util.js", "./node_modules/cors/lib/index.js", "./node_modules/cp-file/index.js", @@ -1581,6 +2012,7 @@ "./node_modules/cross-spawn/node_modules/shebang-regex/index.js", "./node_modules/cross-spawn/node_modules/which/which.js", "./node_modules/crypt/crypt.js", + "./node_modules/cyclist/index.js", "./node_modules/data-uri-to-buffer/index.js", "./node_modules/dayjs/dayjs.min.js", "./node_modules/dayjs/plugin/duration.js", @@ -1588,10 +2020,18 @@ "./node_modules/dayjs/plugin/updateLocale.js", "./node_modules/debug/node_modules/ms/index.js", "./node_modules/debug/src/common.js", + "./node_modules/decode-uri-component/index.js", "./node_modules/decompress-response/index.js", "./node_modules/dedent/dist/dedent.js", "./node_modules/deep-is/index.js", "./node_modules/define-properties/index.js", + "./node_modules/define-property/index.js", + "./node_modules/define-property/node_modules/is-accessor-descriptor/index.js", + "./node_modules/define-property/node_modules/is-accessor-descriptor/node_modules/kind-of/index.js", + "./node_modules/define-property/node_modules/is-data-descriptor/index.js", + "./node_modules/define-property/node_modules/is-data-descriptor/node_modules/kind-of/index.js", + "./node_modules/define-property/node_modules/is-descriptor/index.js", + "./node_modules/define-property/node_modules/kind-of/index.js", "./node_modules/depd/lib/compat/callsite-tostring.js", "./node_modules/depd/lib/compat/event-listener-count.js", "./node_modules/depd/lib/compat/index.js", @@ -1702,7 +2142,45 @@ "./node_modules/encoding/node_modules/iconv-lite/lib/bom-handling.js", "./node_modules/encoding/node_modules/iconv-lite/lib/streams.js", "./node_modules/end-of-stream/index.js", + "./node_modules/enhanced-resolve/lib/AliasFieldPlugin.js", + "./node_modules/enhanced-resolve/lib/AliasPlugin.js", + "./node_modules/enhanced-resolve/lib/AppendPlugin.js", + "./node_modules/enhanced-resolve/lib/CachedInputFileSystem.js", + "./node_modules/enhanced-resolve/lib/ConcordExtensionsPlugin.js", + "./node_modules/enhanced-resolve/lib/ConcordMainPlugin.js", + "./node_modules/enhanced-resolve/lib/ConcordModulesPlugin.js", + "./node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js", + "./node_modules/enhanced-resolve/lib/DescriptionFileUtils.js", + "./node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js", + "./node_modules/enhanced-resolve/lib/FileExistsPlugin.js", + "./node_modules/enhanced-resolve/lib/FileKindPlugin.js", + "./node_modules/enhanced-resolve/lib/JoinRequestPlugin.js", + "./node_modules/enhanced-resolve/lib/MainFieldPlugin.js", + "./node_modules/enhanced-resolve/lib/ModuleAppendPlugin.js", + "./node_modules/enhanced-resolve/lib/ModuleKindPlugin.js", + "./node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js", + "./node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js", + "./node_modules/enhanced-resolve/lib/NextPlugin.js", + "./node_modules/enhanced-resolve/lib/ParsePlugin.js", + "./node_modules/enhanced-resolve/lib/ResolverFactory.js", + "./node_modules/enhanced-resolve/lib/RestrictionsPlugin.js", + "./node_modules/enhanced-resolve/lib/ResultPlugin.js", + "./node_modules/enhanced-resolve/lib/RootPlugin.js", + "./node_modules/enhanced-resolve/lib/SymlinkPlugin.js", + "./node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js", + "./node_modules/enhanced-resolve/lib/TryNextPlugin.js", + "./node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js", + "./node_modules/enhanced-resolve/lib/UseFilePlugin.js", + "./node_modules/enhanced-resolve/lib/concord.js", + "./node_modules/enhanced-resolve/lib/createInnerContext.js", + "./node_modules/enhanced-resolve/lib/forEachBail.js", + "./node_modules/enhanced-resolve/lib/getInnerRequest.js", + "./node_modules/enhanced-resolve/lib/getPaths.js", + "./node_modules/enhanced-resolve/lib/globToRegExp.js", + "./node_modules/enhanced-resolve/node_modules/memory-fs/lib/join.js", + "./node_modules/enhanced-resolve/node_modules/memory-fs/lib/normalize.js", "./node_modules/env-paths/index.js", + "./node_modules/errno/custom.js", "./node_modules/error-ex/index.js", "./node_modules/errorhandler/index.js", "./node_modules/es6-error/lib/index.js", @@ -1711,6 +2189,11 @@ "./node_modules/escape-string-applescript/index.js", "./node_modules/escape-string-regexp/index.js", "./node_modules/esprima/dist/esprima.js", + "./node_modules/esrecurse/esrecurse.js", + "./node_modules/esrecurse/node_modules/estraverse/estraverse.js", + "./node_modules/esrecurse/package.json", + "./node_modules/estraverse/estraverse.js", + "./node_modules/estraverse/package.json", "./node_modules/estree-to-babel/lib/comments.js", "./node_modules/estree-to-babel/lib/estree-to-babel.js", "./node_modules/estree-to-babel/lib/get-ast.js", @@ -1743,6 +2226,12 @@ "./node_modules/exif-parser/lib/jpeg.js", "./node_modules/exif-parser/lib/parser.js", "./node_modules/exif-parser/lib/simplify.js", + "./node_modules/expand-brackets/index.js", + "./node_modules/expand-brackets/lib/compilers.js", + "./node_modules/expand-brackets/lib/parsers.js", + "./node_modules/expand-brackets/lib/utils.js", + "./node_modules/expand-brackets/node_modules/debug/src/debug.js", + "./node_modules/expand-brackets/node_modules/ms/index.js", "./node_modules/express-graphql/renderGraphiQL.js", "./node_modules/express/index.js", "./node_modules/express/lib/express.js", @@ -1768,10 +2257,18 @@ "./node_modules/express/node_modules/qs/lib/utils.js", "./node_modules/ext-list/index.js", "./node_modules/ext-name/index.js", + "./node_modules/extend-shallow/index.js", "./node_modules/extend/index.js", + "./node_modules/extglob/index.js", + "./node_modules/extglob/lib/compilers.js", + "./node_modules/extglob/lib/extglob.js", + "./node_modules/extglob/lib/parsers.js", + "./node_modules/extglob/lib/utils.js", + "./node_modules/extglob/node_modules/define-property/index.js", "./node_modules/extract-zip/index.js", "./node_modules/extract-zip/node_modules/get-stream/index.js", "./node_modules/extsprintf/lib/extsprintf.js", + "./node_modules/fast-deep-equal/index.js", "./node_modules/fast-glob/out/index.js", "./node_modules/fast-glob/out/managers/patterns.js", "./node_modules/fast-glob/out/managers/tasks.js", @@ -1796,7 +2293,9 @@ "./node_modules/fast-glob/out/utils/pattern.js", "./node_modules/fast-glob/out/utils/stream.js", "./node_modules/fast-glob/out/utils/string.js", + "./node_modules/fast-json-stable-stringify/index.js", "./node_modules/fastq/queue.js", + "./node_modules/figgy-pudding/index.js", "./node_modules/filename-reserved-regex/index.js", "./node_modules/filenamify/filenamify-path.js", "./node_modules/filenamify/filenamify.js", @@ -1805,11 +2304,13 @@ "./node_modules/finalhandler/index.js", "./node_modules/finalhandler/node_modules/debug/src/debug.js", "./node_modules/finalhandler/node_modules/ms/index.js", + "./node_modules/find-cache-dir/index.js", "./node_modules/find-process/index.js", "./node_modules/find-process/lib/find.js", "./node_modules/find-process/lib/find_pid.js", "./node_modules/find-process/lib/find_process.js", "./node_modules/find-process/lib/utils.js", + "./node_modules/find-up/index.js", "./node_modules/firefox-profile/lib/firefox_profile.js", "./node_modules/firefox-profile/lib/profile_finder.js", "./node_modules/firefox-profile/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js", @@ -1879,8 +2380,10 @@ "./node_modules/fluent-ffmpeg/lib/processor.js", "./node_modules/fluent-ffmpeg/lib/recipes.js", "./node_modules/follow-redirects/debug.js", + "./node_modules/for-in/index.js", "./node_modules/form-data/lib/populate.js", "./node_modules/forwarded/index.js", + "./node_modules/fragment-cache/index.js", "./node_modules/fresh/index.js", "./node_modules/front-matter/node_modules/js-yaml/index.js", "./node_modules/front-matter/node_modules/js-yaml/lib/js-yaml.js", @@ -1935,6 +2438,8 @@ "./node_modules/fs-extra/lib/util/utimes.js", "./node_modules/fs-extra/node_modules/jsonfile/utils.js", "./node_modules/fs-extra/node_modules/universalify/index.js", + "./node_modules/fs-monkey/lib/correctPath.js", + "./node_modules/fs-monkey/lib/util/lists.js", "./node_modules/fs.realpath/index.js", "./node_modules/fs.realpath/old.js", "./node_modules/function-bind/implementation.js", @@ -1988,6 +2493,7 @@ "./node_modules/get-package-info/node_modules/read-pkg/index.js", "./node_modules/get-port/index.js", "./node_modules/get-stream/index.js", + "./node_modules/get-value/index.js", "./node_modules/getos/index.js", "./node_modules/getos/os.json", "./node_modules/gifwrap/src/bitmapimage.js", @@ -2194,6 +2700,9 @@ "./node_modules/growl/lib/growl.js", "./node_modules/has-flag/index.js", "./node_modules/has-symbols/shams.js", + "./node_modules/has-value/index.js", + "./node_modules/has-values/index.js", + "./node_modules/has-values/node_modules/kind-of/index.js", "./node_modules/has/src/index.js", "./node_modules/he/he.js", "./node_modules/hosted-git-info/git-host-info.js", @@ -2228,6 +2737,7 @@ "./node_modules/iconv-lite/encodings/utf7.js", "./node_modules/iconv-lite/lib/bom-handling.js", "./node_modules/iconv-lite/lib/extend-node.js", + "./node_modules/iferr/index.js", "./node_modules/image-q/dist/iq.js", "./node_modules/image-size/dist/detector.js", "./node_modules/image-size/dist/readUInt.js", @@ -2248,43 +2758,56 @@ "./node_modules/image-size/dist/types/svg.js", "./node_modules/image-size/dist/types/tiff.js", "./node_modules/image-size/dist/types/webp.js", + "./node_modules/imurmurhash/imurmurhash.js", + "./node_modules/infer-owner/index.js", "./node_modules/inflight/inflight.js", "./node_modules/inherits/inherits.js", "./node_modules/inherits/inherits_browser.js", "./node_modules/ini/ini.js", "./node_modules/ip-regex/index.js", "./node_modules/ipaddr.js/lib/ipaddr.js", + "./node_modules/is-accessor-descriptor/index.js", "./node_modules/is-arrayish/index.js", "./node_modules/is-binary-path/index.js", "./node_modules/is-buffer/index.js", "./node_modules/is-ci/index.js", "./node_modules/is-core-module/core.json", "./node_modules/is-core-module/index.js", + "./node_modules/is-data-descriptor/index.js", + "./node_modules/is-descriptor/index.js", "./node_modules/is-dotfile/index.js", + "./node_modules/is-extendable/index.js", "./node_modules/is-extglob/index.js", "./node_modules/is-fork-pr/src/index.js", "./node_modules/is-fullwidth-code-point/index.js", "./node_modules/is-glob/index.js", "./node_modules/is-html/index.js", + "./node_modules/is-number/index.js", + "./node_modules/is-number/node_modules/kind-of/index.js", "./node_modules/is-obj/index.js", "./node_modules/is-path-inside/index.js", "./node_modules/is-plain-obj/index.js", + "./node_modules/is-plain-object/index.js", "./node_modules/is-regexp/index.js", "./node_modules/is-stream/index.js", "./node_modules/is-typedarray/index.js", "./node_modules/is-url/index.js", + "./node_modules/is-windows/index.js", "./node_modules/is2/index.js", "./node_modules/is2/package.json", "./node_modules/isarray/index.js", "./node_modules/isbinaryfile/lib/index.js", "./node_modules/isexe/mode.js", "./node_modules/isexe/windows.js", + "./node_modules/isobject/index.js", "./node_modules/isstream/isstream.js", "./node_modules/iterall/index.js", "./node_modules/jetpack-id/index.js", "./node_modules/js-tokens/index.js", "./node_modules/jsesc/jsesc.js", "./node_modules/json-buffer/index.js", + "./node_modules/json-parse-better-errors/index.js", + "./node_modules/json-schema-traverse/index.js", "./node_modules/json-schema/lib/validate.js", "./node_modules/json-stringify-safe/stringify.js", "./node_modules/json5/lib/index.js", @@ -2295,6 +2818,7 @@ "./node_modules/jsonlint/lib/jsonlint.js", "./node_modules/jsprim/lib/jsprim.js", "./node_modules/junk/index.js", + "./node_modules/kind-of/index.js", "./node_modules/launch-editor/editor-info/linux.js", "./node_modules/launch-editor/editor-info/osx.js", "./node_modules/launch-editor/editor-info/windows.js", @@ -2305,6 +2829,10 @@ "./node_modules/load-bmfont/index.js", "./node_modules/load-bmfont/lib/is-binary.js", "./node_modules/load-bmfont/node_modules/buffer-equal/index.js", + "./node_modules/loader-runner/lib/LoaderLoadingError.js", + "./node_modules/loader-runner/lib/LoaderRunner.js", + "./node_modules/loader-runner/lib/loadLoader.js", + "./node_modules/locate-path/index.js", "./node_modules/lodash._baseassign/index.js", "./node_modules/lodash._basecopy/index.js", "./node_modules/lodash._basecreate/index.js", @@ -2493,12 +3021,31 @@ "./node_modules/lodash/toInteger.js", "./node_modules/lodash/toNumber.js", "./node_modules/lodash/toString.js", + "./node_modules/lru-cache/index.js", + "./node_modules/lru-cache/node_modules/yallist/iterator.js", + "./node_modules/lru-cache/node_modules/yallist/yallist.js", "./node_modules/make-error/index.js", + "./node_modules/map-cache/index.js", + "./node_modules/map-visit/index.js", "./node_modules/marionette-client/lib/marionette/message.js", "./node_modules/matcher/index.js", "./node_modules/matcher/node_modules/escape-string-regexp/index.js", "./node_modules/md5/md5.js", "./node_modules/media-typer/index.js", + "./node_modules/memfs/lib/Dirent.js", + "./node_modules/memfs/lib/Stats.js", + "./node_modules/memfs/lib/constants.js", + "./node_modules/memfs/lib/encoding.js", + "./node_modules/memfs/lib/getBigInt.js", + "./node_modules/memfs/lib/internal/buffer.js", + "./node_modules/memfs/lib/internal/errors.js", + "./node_modules/memfs/lib/node.js", + "./node_modules/memfs/lib/promises.js", + "./node_modules/memfs/lib/setImmediate.js", + "./node_modules/memfs/lib/setTimeoutUnref.js", + "./node_modules/memory-fs/lib/MemoryFileSystem.js", + "./node_modules/memory-fs/lib/join.js", + "./node_modules/memory-fs/lib/normalize.js", "./node_modules/merge-descriptors/index.js", "./node_modules/merge-stream/index.js", "./node_modules/merge2/index.js", @@ -2510,6 +3057,9 @@ "./node_modules/mimic-response/index.js", "./node_modules/min-indent/index.js", "./node_modules/minimist/index.js", + "./node_modules/mississippi/index.js", + "./node_modules/mixin-deep/index.js", + "./node_modules/mixin-deep/node_modules/is-extendable/index.js", "./node_modules/mkdirp/index.js", "./node_modules/mocha-7.0.1/lib/browser/progress.js", "./node_modules/mocha-7.0.1/lib/context.js", @@ -2590,9 +3140,21 @@ "./node_modules/mount-point/index.js", "./node_modules/mount-point/node_modules/@sindresorhus/df/index.js", "./node_modules/mount-point/node_modules/pify/index.js", + "./node_modules/move-concurrently/move.js", + "./node_modules/move-concurrently/node_modules/aproba/index.js", + "./node_modules/move-concurrently/node_modules/glob/common.js", + "./node_modules/move-concurrently/node_modules/rimraf/rimraf.js", "./node_modules/move-file/index.js", "./node_modules/move-file/node_modules/make-dir/index.js", "./node_modules/ms/index.js", + "./node_modules/nanomatch/index.js", + "./node_modules/nanomatch/lib/cache.js", + "./node_modules/nanomatch/lib/compilers.js", + "./node_modules/nanomatch/lib/parsers.js", + "./node_modules/nanomatch/lib/utils.js", + "./node_modules/nanomatch/node_modules/define-property/index.js", + "./node_modules/nanomatch/node_modules/extend-shallow/index.js", + "./node_modules/nanomatch/node_modules/is-extendable/index.js", "./node_modules/negotiator/index.js", "./node_modules/negotiator/lib/charset.js", "./node_modules/negotiator/lib/encoding.js", @@ -2662,9 +3224,13 @@ "./node_modules/npm-run-path/index.js", "./node_modules/npm-run-path/node_modules/path-key/index.js", "./node_modules/object-assign/index.js", + "./node_modules/object-copy/index.js", + "./node_modules/object-copy/node_modules/kind-of/index.js", "./node_modules/object-keys/implementation.js", "./node_modules/object-keys/index.js", "./node_modules/object-keys/isArguments.js", + "./node_modules/object-visit/index.js", + "./node_modules/object.pick/index.js", "./node_modules/omggif/omggif.js", "./node_modules/on-finished/index.js", "./node_modules/on-headers/index.js", @@ -2675,6 +3241,8 @@ "./node_modules/ospath/index.js", "./node_modules/p-defer/index.js", "./node_modules/p-finally/index.js", + "./node_modules/p-limit/index.js", + "./node_modules/p-locate/index.js", "./node_modules/p-map/index.js", "./node_modules/p-queue/dist/index.js", "./node_modules/p-queue/dist/lower-bound.js", @@ -2705,6 +3273,8 @@ "./node_modules/parse-glob/node_modules/is-extglob/index.js", "./node_modules/parse-glob/node_modules/is-glob/index.js", "./node_modules/parseurl/index.js", + "./node_modules/pascalcase/index.js", + "./node_modules/path-dirname/index.js", "./node_modules/path-exists/index.js", "./node_modules/path-is-absolute/index.js", "./node_modules/path-is-inside/lib/path-is-inside.js", @@ -2726,6 +3296,7 @@ "./node_modules/pify/index.js", "./node_modules/pinkie-promise/index.js", "./node_modules/pixelmatch/index.js", + "./node_modules/pkg-dir/index.js", "./node_modules/plist/index.js", "./node_modules/plist/lib/build.js", "./node_modules/plist/lib/parse.js", @@ -2748,6 +3319,8 @@ "./node_modules/pngjs/lib/parser.js", "./node_modules/pngjs/lib/png-sync.js", "./node_modules/pngjs/lib/sync-reader.js", + "./node_modules/pnp-webpack-plugin/resolver.js", + "./node_modules/posix-character-classes/index.js", "./node_modules/prepend-http/index.js", "./node_modules/prettier/doc.js", "./node_modules/prettier/package.json", @@ -2759,9 +3332,11 @@ "./node_modules/prettier/parser-yaml.js", "./node_modules/progress/index.js", "./node_modules/progress/lib/node-progress.js", + "./node_modules/promise-inflight/inflight.js", "./node_modules/proto-list/proto-list.js", "./node_modules/proxy-addr/index.js", "./node_modules/proxy-from-env/index.js", + "./node_modules/prr/prr.js", "./node_modules/pseudomap/pseudomap.js", "./node_modules/psl/data/rules.json", "./node_modules/psl/index.js", @@ -3176,13 +3751,39 @@ "./node_modules/react-docgen/node_modules/doctrine/lib/utility.js", "./node_modules/react-docgen/node_modules/doctrine/package.json", "./node_modules/readable-stream/lib/internal/streams/destroy.js", + "./node_modules/readdirp/node_modules/braces/index.js", + "./node_modules/readdirp/node_modules/braces/lib/braces.js", + "./node_modules/readdirp/node_modules/braces/lib/compilers.js", + "./node_modules/readdirp/node_modules/braces/lib/parsers.js", + "./node_modules/readdirp/node_modules/braces/lib/utils.js", + "./node_modules/readdirp/node_modules/braces/node_modules/extend-shallow/index.js", + "./node_modules/readdirp/node_modules/braces/node_modules/is-extendable/index.js", + "./node_modules/readdirp/node_modules/define-property/index.js", + "./node_modules/readdirp/node_modules/extend-shallow/index.js", + "./node_modules/readdirp/node_modules/fill-range/index.js", + "./node_modules/readdirp/node_modules/fill-range/node_modules/extend-shallow/index.js", + "./node_modules/readdirp/node_modules/fill-range/node_modules/is-extendable/index.js", + "./node_modules/readdirp/node_modules/is-extendable/index.js", + "./node_modules/readdirp/node_modules/micromatch/index.js", + "./node_modules/readdirp/node_modules/micromatch/lib/cache.js", + "./node_modules/readdirp/node_modules/micromatch/lib/compilers.js", + "./node_modules/readdirp/node_modules/micromatch/lib/parsers.js", + "./node_modules/readdirp/node_modules/micromatch/lib/utils.js", + "./node_modules/readdirp/node_modules/to-regex-range/index.js", + "./node_modules/readdirp/readdirp.js", "./node_modules/recast/parsers/_babel_options.js", "./node_modules/recast/parsers/babel.js", "./node_modules/recast/parsers/esprima.js", "./node_modules/recast/parsers/typescript.js", "./node_modules/regenerator-runtime/runtime.js", + "./node_modules/regex-not/index.js", + "./node_modules/regex-not/node_modules/extend-shallow/index.js", + "./node_modules/regex-not/node_modules/is-extendable/index.js", "./node_modules/registry-js/dist/lib/index.js", "./node_modules/registry-js/dist/lib/registry.js", + "./node_modules/remove-trailing-separator/index.js", + "./node_modules/repeat-element/index.js", + "./node_modules/repeat-string/index.js", "./node_modules/request-promise-core/configure/request2.js", "./node_modules/request-promise-core/errors.js", "./node_modules/request-promise-core/lib/errors.js", @@ -3219,7 +3820,16 @@ "./node_modules/run-applescript/node_modules/get-stream/index.js", "./node_modules/run-applescript/node_modules/path-key/index.js", "./node_modules/run-parallel/index.js", + "./node_modules/run-queue/node_modules/aproba/index.js", + "./node_modules/run-queue/queue.js", + "./node_modules/safe-regex/index.js", + "./node_modules/safe-regex/node_modules/ret/lib/index.js", + "./node_modules/safe-regex/node_modules/ret/lib/positions.js", + "./node_modules/safe-regex/node_modules/ret/lib/sets.js", + "./node_modules/safe-regex/node_modules/ret/lib/types.js", + "./node_modules/safe-regex/node_modules/ret/lib/util.js", "./node_modules/sanitize-filename/index.js", + "./node_modules/schema-utils/src/ValidationError.js", "./node_modules/semver-compare/index.js", "./node_modules/semver/classes/comparator.js", "./node_modules/semver/classes/range.js", @@ -3269,6 +3879,7 @@ "./node_modules/serialize-error/index.js", "./node_modules/serve-static/index.js", "./node_modules/server-destroy/index.js", + "./node_modules/set-value/index.js", "./node_modules/setprototypeof/index.js", "./node_modules/shebang-command/index.js", "./node_modules/shebang-regex/index.js", @@ -3288,8 +3899,43 @@ "./node_modules/signal-exit/index.js", "./node_modules/simple-swizzle/index.js", "./node_modules/simple-swizzle/node_modules/is-arrayish/index.js", + "./node_modules/snapdragon-node/index.js", + "./node_modules/snapdragon-node/node_modules/define-property/index.js", + "./node_modules/snapdragon-util/index.js", + "./node_modules/snapdragon-util/node_modules/kind-of/index.js", + "./node_modules/snapdragon/lib/compiler.js", + "./node_modules/snapdragon/lib/parser.js", + "./node_modules/snapdragon/lib/position.js", + "./node_modules/snapdragon/lib/source-maps.js", + "./node_modules/snapdragon/lib/utils.js", + "./node_modules/snapdragon/node_modules/debug/src/debug.js", + "./node_modules/snapdragon/node_modules/ms/index.js", + "./node_modules/snapdragon/node_modules/source-map/lib/array-set.js", + "./node_modules/snapdragon/node_modules/source-map/lib/base64-vlq.js", + "./node_modules/snapdragon/node_modules/source-map/lib/base64.js", + "./node_modules/snapdragon/node_modules/source-map/lib/binary-search.js", + "./node_modules/snapdragon/node_modules/source-map/lib/mapping-list.js", + "./node_modules/snapdragon/node_modules/source-map/lib/quick-sort.js", + "./node_modules/snapdragon/node_modules/source-map/lib/source-map-consumer.js", + "./node_modules/snapdragon/node_modules/source-map/lib/source-map-generator.js", + "./node_modules/snapdragon/node_modules/source-map/lib/source-node.js", + "./node_modules/snapdragon/node_modules/source-map/lib/util.js", + "./node_modules/snapdragon/node_modules/source-map/source-map.js", "./node_modules/sort-keys-length/index.js", "./node_modules/sort-keys-length/node_modules/sort-keys/index.js", + "./node_modules/source-list-map/lib/CodeNode.js", + "./node_modules/source-list-map/lib/MappingsContext.js", + "./node_modules/source-list-map/lib/SingleLineNode.js", + "./node_modules/source-list-map/lib/SourceListMap.js", + "./node_modules/source-list-map/lib/SourceNode.js", + "./node_modules/source-list-map/lib/base64-vlq.js", + "./node_modules/source-list-map/lib/fromStringWithSourceMap.js", + "./node_modules/source-list-map/lib/helpers.js", + "./node_modules/source-list-map/lib/index.js", + "./node_modules/source-map-resolve/lib/decode-uri-component.js", + "./node_modules/source-map-resolve/lib/resolve-url.js", + "./node_modules/source-map-resolve/lib/source-map-resolve-node.js", + "./node_modules/source-map-url/source-map-url.js", "./node_modules/source-map/lib/array-set.js", "./node_modules/source-map/lib/base64-vlq.js", "./node_modules/source-map/lib/base64.js", @@ -3308,12 +3954,17 @@ "./node_modules/spdx-expression-parse/scan.js", "./node_modules/spdx-license-ids/deprecated.json", "./node_modules/spdx-license-ids/index.json", + "./node_modules/split-string/index.js", + "./node_modules/split-string/node_modules/extend-shallow/index.js", + "./node_modules/split-string/node_modules/is-extendable/index.js", "./node_modules/squirrelly/dist/squirrelly.min.js", "./node_modules/sshpk/lib/ssh-buffer.js", "./node_modules/ssl-root-cas/ssl-root-cas.js", + "./node_modules/static-extend/index.js", "./node_modules/statuses/codes.json", "./node_modules/statuses/index.js", "./node_modules/stealthy-require/lib/index.js", + "./node_modules/stream-each/index.js", "./node_modules/stream-parser/index.js", "./node_modules/stream-parser/node_modules/debug/src/debug.js", "./node_modules/stream-parser/node_modules/ms/index.js", @@ -3327,6 +3978,7 @@ "./node_modules/strip-eof/index.js", "./node_modules/strip-final-newline/index.js", "./node_modules/strip-indent/index.js", + "./node_modules/strip-json-comments/index.js", "./node_modules/strip-outer/index.js", "./node_modules/sumchecker/index.js", "./node_modules/supports-color/node_modules/has-flag/index.js", @@ -3351,6 +4003,20 @@ "./node_modules/systeminformation/lib/virtualbox.js", "./node_modules/systeminformation/lib/wifi.js", "./node_modules/systeminformation/package.json", + "./node_modules/tapable/lib/AsyncParallelBailHook.js", + "./node_modules/tapable/lib/AsyncParallelHook.js", + "./node_modules/tapable/lib/AsyncSeriesBailHook.js", + "./node_modules/tapable/lib/AsyncSeriesHook.js", + "./node_modules/tapable/lib/AsyncSeriesWaterfallHook.js", + "./node_modules/tapable/lib/Hook.js", + "./node_modules/tapable/lib/HookCodeFactory.js", + "./node_modules/tapable/lib/HookMap.js", + "./node_modules/tapable/lib/MultiHook.js", + "./node_modules/tapable/lib/SyncBailHook.js", + "./node_modules/tapable/lib/SyncHook.js", + "./node_modules/tapable/lib/SyncLoopHook.js", + "./node_modules/tapable/lib/SyncWaterfallHook.js", + "./node_modules/tapable/lib/index.js", "./node_modules/tar-stream/headers.js", "./node_modules/tar-stream/index.js", "./node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js", @@ -3363,14 +4029,36 @@ "./node_modules/tcp-port-used/node_modules/debug/src/common.js", "./node_modules/tcp-port-used/node_modules/ms/index.js", "./node_modules/term-size/index.js", + "./node_modules/terser-webpack-plugin/dist/minify.js", + "./node_modules/terser-webpack-plugin/dist/options.json", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/path.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/rm.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/memoization.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/hash-to-segments.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/move-file.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/tmp.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/y.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/package.json", + "./node_modules/terser-webpack-plugin/node_modules/cacache/rm.js", + "./node_modules/terser-webpack-plugin/node_modules/glob/common.js", + "./node_modules/terser-webpack-plugin/node_modules/rimraf/rimraf.js", + "./node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js", + "./node_modules/terser-webpack-plugin/node_modules/terser/package.json", + "./node_modules/terser-webpack-plugin/package.json", "./node_modules/textextensions/edition-es5/index.js", "./node_modules/through/index.js", "./node_modules/timm/lib/timm.js", "./node_modules/tinycolor2/tinycolor.js", "./node_modules/to-fast-properties/index.js", + "./node_modules/to-object-path/index.js", + "./node_modules/to-object-path/node_modules/kind-of/index.js", "./node_modules/to-readable-stream/index.js", "./node_modules/to-regex-range/index.js", "./node_modules/to-regex-range/node_modules/is-number/index.js", + "./node_modules/to-regex/index.js", + "./node_modules/to-regex/node_modules/define-property/index.js", + "./node_modules/to-regex/node_modules/extend-shallow/index.js", + "./node_modules/to-regex/node_modules/is-extendable/index.js", "./node_modules/toidentifier/index.js", "./node_modules/tough-cookie/lib/pathMatch.js", "./node_modules/tough-cookie/lib/permuteDomain.js", @@ -3427,6 +4115,28 @@ "./node_modules/ts-node/node_modules/diff/lib/util/distance-iterator.js", "./node_modules/ts-node/node_modules/diff/lib/util/params.js", "./node_modules/ts-node/package.json", + "./node_modules/tsconfig-package/dist/tsconfig.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/index.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/options.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/plugin.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk/source/templates.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk/source/util.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/enhanced-resolve/lib/createInnerContext.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/enhanced-resolve/lib/getInnerRequest.js", + "./node_modules/tsconfig-paths/lib/config-loader.js", + "./node_modules/tsconfig-paths/lib/filesystem.js", + "./node_modules/tsconfig-paths/lib/index.js", + "./node_modules/tsconfig-paths/lib/mapping-entry.js", + "./node_modules/tsconfig-paths/lib/match-path-async.js", + "./node_modules/tsconfig-paths/lib/match-path-sync.js", + "./node_modules/tsconfig-paths/lib/register.js", + "./node_modules/tsconfig-paths/lib/try-path.js", + "./node_modules/tsconfig-paths/lib/tsconfig-loader.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/index.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/parse.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/stringify.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/unicode.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/util.js", "./node_modules/tslib/tslib.js", "./node_modules/type-is/index.js", "./node_modules/typedarray/index.js", @@ -3497,12 +4207,22 @@ "./node_modules/underscore.string/unquote.js", "./node_modules/underscore.string/words.js", "./node_modules/underscore.string/wrap.js", + "./node_modules/union-value/index.js", + "./node_modules/unique-filename/index.js", + "./node_modules/unique-slug/index.js", "./node_modules/universalify/index.js", "./node_modules/unpipe/index.js", + "./node_modules/unset-value/index.js", + "./node_modules/unset-value/node_modules/has-value/index.js", + "./node_modules/unset-value/node_modules/has-value/node_modules/isobject/index.js", + "./node_modules/unset-value/node_modules/has-values/index.js", "./node_modules/unused-filename/index.js", "./node_modules/unused-filename/node_modules/path-exists/index.js", + "./node_modules/uri-js/dist/es5/uri.all.js", + "./node_modules/urix/index.js", "./node_modules/url-parse-lax/index.js", "./node_modules/url-parse/index.js", + "./node_modules/use/index.js", "./node_modules/utf8-stream/index.js", "./node_modules/utf8-stream/node_modules/isarray/index.js", "./node_modules/utils-merge/index.js", @@ -3516,10 +4236,291 @@ "./node_modules/value-or-promise/build/main/ValueOrPromise.js", "./node_modules/value-or-promise/build/main/index.js", "./node_modules/vary/index.js", + "./node_modules/watchpack-chokidar2/node_modules/anymatch/index.js", + "./node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path/index.js", + "./node_modules/watchpack-chokidar2/node_modules/binary-extensions/binary-extensions.json", + "./node_modules/watchpack-chokidar2/node_modules/braces/index.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/braces.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/compilers.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/parsers.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/utils.js", + "./node_modules/watchpack-chokidar2/node_modules/chokidar/lib/nodefs-handler.js", + "./node_modules/watchpack-chokidar2/node_modules/define-property/index.js", + "./node_modules/watchpack-chokidar2/node_modules/fill-range/index.js", + "./node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob/index.js", + "./node_modules/watchpack-chokidar2/node_modules/is-binary-path/index.js", + "./node_modules/watchpack-chokidar2/node_modules/is-extendable/index.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/index.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/cache.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/compilers.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/parsers.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/utils.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/node_modules/extend-shallow/index.js", + "./node_modules/watchpack-chokidar2/node_modules/to-regex-range/index.js", + "./node_modules/watchpack/lib/watcherManager.js", + "./node_modules/webpack-sources/lib/CachedSource.js", + "./node_modules/webpack-sources/lib/ConcatSource.js", + "./node_modules/webpack-sources/lib/LineToLineMappedSource.js", + "./node_modules/webpack-sources/lib/OriginalSource.js", + "./node_modules/webpack-sources/lib/PrefixSource.js", + "./node_modules/webpack-sources/lib/RawSource.js", + "./node_modules/webpack-sources/lib/ReplaceSource.js", + "./node_modules/webpack-sources/lib/Source.js", + "./node_modules/webpack-sources/lib/SourceAndMapMixin.js", + "./node_modules/webpack-sources/lib/SourceMapSource.js", + "./node_modules/webpack-sources/lib/applySourceMap.js", + "./node_modules/webpack-sources/lib/index.js", + "./node_modules/webpack/lib/APIPlugin.js", + "./node_modules/webpack/lib/AmdMainTemplatePlugin.js", + "./node_modules/webpack/lib/AsyncDependenciesBlock.js", + "./node_modules/webpack/lib/AutomaticPrefetchPlugin.js", + "./node_modules/webpack/lib/BannerPlugin.js", + "./node_modules/webpack/lib/BasicEvaluatedExpression.js", + "./node_modules/webpack/lib/CachePlugin.js", + "./node_modules/webpack/lib/ChunkGroup.js", + "./node_modules/webpack/lib/CommonJsStuffPlugin.js", + "./node_modules/webpack/lib/CompatibilityPlugin.js", + "./node_modules/webpack/lib/ConstPlugin.js", + "./node_modules/webpack/lib/ContextExclusionPlugin.js", + "./node_modules/webpack/lib/ContextReplacementPlugin.js", + "./node_modules/webpack/lib/DefinePlugin.js", + "./node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js", + "./node_modules/webpack/lib/DependenciesBlock.js", + "./node_modules/webpack/lib/DependenciesBlockVariable.js", + "./node_modules/webpack/lib/DllEntryPlugin.js", + "./node_modules/webpack/lib/DllPlugin.js", + "./node_modules/webpack/lib/DynamicEntryPlugin.js", + "./node_modules/webpack/lib/EntryOptionPlugin.js", + "./node_modules/webpack/lib/Entrypoint.js", + "./node_modules/webpack/lib/EnvironmentPlugin.js", + "./node_modules/webpack/lib/ErrorHelpers.js", + "./node_modules/webpack/lib/EvalDevToolModulePlugin.js", + "./node_modules/webpack/lib/EvalDevToolModuleTemplatePlugin.js", + "./node_modules/webpack/lib/EvalSourceMapDevToolModuleTemplatePlugin.js", + "./node_modules/webpack/lib/EvalSourceMapDevToolPlugin.js", + "./node_modules/webpack/lib/ExportPropertyMainTemplatePlugin.js", + "./node_modules/webpack/lib/ExtendedAPIPlugin.js", + "./node_modules/webpack/lib/ExternalModuleFactoryPlugin.js", + "./node_modules/webpack/lib/ExternalsPlugin.js", + "./node_modules/webpack/lib/FlagAllModulesAsUsedPlugin.js", + "./node_modules/webpack/lib/FlagDependencyExportsPlugin.js", + "./node_modules/webpack/lib/FlagDependencyUsagePlugin.js", + "./node_modules/webpack/lib/FunctionModulePlugin.js", + "./node_modules/webpack/lib/FunctionModuleTemplatePlugin.js", + "./node_modules/webpack/lib/Generator.js", + "./node_modules/webpack/lib/GraphHelpers.js", + "./node_modules/webpack/lib/HashedModuleIdsPlugin.js", + "./node_modules/webpack/lib/HotModuleReplacement.runtime.js", + "./node_modules/webpack/lib/HotModuleReplacementPlugin.js", + "./node_modules/webpack/lib/IgnorePlugin.js", + "./node_modules/webpack/lib/JavascriptGenerator.js", + "./node_modules/webpack/lib/JavascriptModulesPlugin.js", + "./node_modules/webpack/lib/JsonGenerator.js", + "./node_modules/webpack/lib/JsonModulesPlugin.js", + "./node_modules/webpack/lib/JsonParser.js", + "./node_modules/webpack/lib/LibManifestPlugin.js", + "./node_modules/webpack/lib/LibraryTemplatePlugin.js", + "./node_modules/webpack/lib/LoaderOptionsPlugin.js", + "./node_modules/webpack/lib/LoaderTargetPlugin.js", + "./node_modules/webpack/lib/MemoryOutputFileSystem.js", + "./node_modules/webpack/lib/ModuleFilenameHelpers.js", + "./node_modules/webpack/lib/ModuleReason.js", + "./node_modules/webpack/lib/MultiEntryPlugin.js", + "./node_modules/webpack/lib/MultiStats.js", + "./node_modules/webpack/lib/MultiWatching.js", + "./node_modules/webpack/lib/NamedChunksPlugin.js", + "./node_modules/webpack/lib/NamedModulesPlugin.js", + "./node_modules/webpack/lib/NoEmitOnErrorsPlugin.js", + "./node_modules/webpack/lib/NodeStuffPlugin.js", + "./node_modules/webpack/lib/NormalModuleReplacementPlugin.js", + "./node_modules/webpack/lib/NullFactory.js", + "./node_modules/webpack/lib/OptionsApply.js", + "./node_modules/webpack/lib/OptionsDefaulter.js", + "./node_modules/webpack/lib/ParserHelpers.js", + "./node_modules/webpack/lib/PrefetchPlugin.js", + "./node_modules/webpack/lib/ProgressPlugin.js", + "./node_modules/webpack/lib/ProvidePlugin.js", + "./node_modules/webpack/lib/RecordIdsPlugin.js", + "./node_modules/webpack/lib/RequestShortener.js", + "./node_modules/webpack/lib/RequireJsStuffPlugin.js", + "./node_modules/webpack/lib/RuleSet.js", + "./node_modules/webpack/lib/RuntimeTemplate.js", + "./node_modules/webpack/lib/SetVarMainTemplatePlugin.js", + "./node_modules/webpack/lib/SingleEntryPlugin.js", + "./node_modules/webpack/lib/SizeFormatHelpers.js", + "./node_modules/webpack/lib/SourceMapDevToolModuleOptionsPlugin.js", + "./node_modules/webpack/lib/SourceMapDevToolPlugin.js", + "./node_modules/webpack/lib/Stats.js", + "./node_modules/webpack/lib/SystemMainTemplatePlugin.js", + "./node_modules/webpack/lib/Template.js", + "./node_modules/webpack/lib/TemplatedPathPlugin.js", + "./node_modules/webpack/lib/UmdMainTemplatePlugin.js", + "./node_modules/webpack/lib/UseStrictPlugin.js", + "./node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js", + "./node_modules/webpack/lib/WarnNoModeSetPlugin.js", + "./node_modules/webpack/lib/WatchIgnorePlugin.js", + "./node_modules/webpack/lib/Watching.js", + "./node_modules/webpack/lib/WebpackOptionsApply.js", + "./node_modules/webpack/lib/WebpackOptionsDefaulter.js", + "./node_modules/webpack/lib/buildChunkGraph.js", + "./node_modules/webpack/lib/compareLocations.js", + "./node_modules/webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/AMDPlugin.js", + "./node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlock.js", + "./node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js", + "./node_modules/webpack/lib/dependencies/CommonJsPlugin.js", + "./node_modules/webpack/lib/dependencies/CommonJsRequireDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/ContextDependencyHelpers.js", + "./node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsId.js", + "./node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsRequireCall.js", + "./node_modules/webpack/lib/dependencies/DependencyReference.js", + "./node_modules/webpack/lib/dependencies/HarmonyDetectionParserPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js", + "./node_modules/webpack/lib/dependencies/ImportDependenciesBlock.js", + "./node_modules/webpack/lib/dependencies/ImportParserPlugin.js", + "./node_modules/webpack/lib/dependencies/ImportPlugin.js", + "./node_modules/webpack/lib/dependencies/LoaderPlugin.js", + "./node_modules/webpack/lib/dependencies/LocalModule.js", + "./node_modules/webpack/lib/dependencies/LocalModulesHelpers.js", + "./node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsId.js", + "./node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsRequireId.js", + "./node_modules/webpack/lib/dependencies/RequireContextDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireContextPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlock.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js", + "./node_modules/webpack/lib/dependencies/RequireIncludeDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireIncludePlugin.js", + "./node_modules/webpack/lib/dependencies/RequireResolveDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/WebpackMissingModule.js", + "./node_modules/webpack/lib/dependencies/getFunctionExpression.js", + "./node_modules/webpack/lib/formatLocation.js", + "./node_modules/webpack/lib/logging/Logger.js", + "./node_modules/webpack/lib/logging/createConsoleLogger.js", + "./node_modules/webpack/lib/logging/truncateArgs.js", + "./node_modules/webpack/lib/node/NodeChunkTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeEnvironmentPlugin.js", + "./node_modules/webpack/lib/node/NodeHotUpdateChunkTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeMainTemplate.runtime.js", + "./node_modules/webpack/lib/node/NodeMainTemplateAsync.runtime.js", + "./node_modules/webpack/lib/node/NodeMainTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeOutputFileSystem.js", + "./node_modules/webpack/lib/node/NodeSourcePlugin.js", + "./node_modules/webpack/lib/node/NodeTargetPlugin.js", + "./node_modules/webpack/lib/node/NodeTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeWatchFileSystem.js", + "./node_modules/webpack/lib/node/ReadFileCompileWasmTemplatePlugin.js", + "./node_modules/webpack/lib/optimize/AggressiveMergingPlugin.js", + "./node_modules/webpack/lib/optimize/AggressiveSplittingPlugin.js", + "./node_modules/webpack/lib/optimize/ChunkModuleIdRangePlugin.js", + "./node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js", + "./node_modules/webpack/lib/optimize/FlagIncludedChunksPlugin.js", + "./node_modules/webpack/lib/optimize/LimitChunkCountPlugin.js", + "./node_modules/webpack/lib/optimize/MergeDuplicateChunksPlugin.js", + "./node_modules/webpack/lib/optimize/MinChunkSizePlugin.js", + "./node_modules/webpack/lib/optimize/ModuleConcatenationPlugin.js", + "./node_modules/webpack/lib/optimize/NaturalChunkOrderPlugin.js", + "./node_modules/webpack/lib/optimize/OccurrenceChunkOrderPlugin.js", + "./node_modules/webpack/lib/optimize/OccurrenceModuleOrderPlugin.js", + "./node_modules/webpack/lib/optimize/OccurrenceOrderPlugin.js", + "./node_modules/webpack/lib/optimize/RemoveEmptyChunksPlugin.js", + "./node_modules/webpack/lib/optimize/RemoveParentModulesPlugin.js", + "./node_modules/webpack/lib/optimize/RuntimeChunkPlugin.js", + "./node_modules/webpack/lib/optimize/SideEffectsFlagPlugin.js", + "./node_modules/webpack/lib/optimize/SplitChunksPlugin.js", + "./node_modules/webpack/lib/performance/SizeLimitsPlugin.js", + "./node_modules/webpack/lib/util/LazyBucketSortedSet.js", + "./node_modules/webpack/lib/util/Queue.js", + "./node_modules/webpack/lib/util/Semaphore.js", + "./node_modules/webpack/lib/util/SetHelpers.js", + "./node_modules/webpack/lib/util/SortableSet.js", + "./node_modules/webpack/lib/util/cleverMerge.js", + "./node_modules/webpack/lib/util/createHash.js", + "./node_modules/webpack/lib/util/deterministicGrouping.js", + "./node_modules/webpack/lib/util/identifier.js", + "./node_modules/webpack/lib/util/objectToMap.js", + "./node_modules/webpack/lib/wasm/WasmFinalizeExportsPlugin.js", + "./node_modules/webpack/lib/wasm/WasmMainTemplatePlugin.js", + "./node_modules/webpack/lib/wasm/WebAssemblyGenerator.js", + "./node_modules/webpack/lib/wasm/WebAssemblyJavascriptGenerator.js", + "./node_modules/webpack/lib/wasm/WebAssemblyModulesPlugin.js", + "./node_modules/webpack/lib/wasm/WebAssemblyUtils.js", + "./node_modules/webpack/lib/web/FetchCompileWasmTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpChunkTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpExportMainTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpHotUpdateChunkTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpMainTemplate.runtime.js", + "./node_modules/webpack/lib/web/JsonpMainTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerChunkTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerMainTemplate.runtime.js", + "./node_modules/webpack/lib/webworker/WebWorkerMainTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerTemplatePlugin.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/webpack/node_modules/braces/index.js", + "./node_modules/webpack/node_modules/braces/lib/braces.js", + "./node_modules/webpack/node_modules/braces/lib/compilers.js", + "./node_modules/webpack/node_modules/braces/lib/parsers.js", + "./node_modules/webpack/node_modules/braces/lib/utils.js", + "./node_modules/webpack/node_modules/braces/node_modules/extend-shallow/index.js", + "./node_modules/webpack/node_modules/braces/node_modules/is-extendable/index.js", + "./node_modules/webpack/node_modules/define-property/index.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/definition.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/index.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/pattern-visitor.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/reference.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/referencer.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/scope-manager.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/scope.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/variable.js", + "./node_modules/webpack/node_modules/eslint-scope/package.json", + "./node_modules/webpack/node_modules/extend-shallow/index.js", + "./node_modules/webpack/node_modules/fill-range/index.js", + "./node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow/index.js", + "./node_modules/webpack/node_modules/fill-range/node_modules/is-extendable/index.js", + "./node_modules/webpack/node_modules/is-extendable/index.js", + "./node_modules/webpack/node_modules/micromatch/index.js", + "./node_modules/webpack/node_modules/micromatch/lib/cache.js", + "./node_modules/webpack/node_modules/micromatch/lib/compilers.js", + "./node_modules/webpack/node_modules/micromatch/lib/parsers.js", + "./node_modules/webpack/node_modules/micromatch/lib/utils.js", + "./node_modules/webpack/node_modules/to-regex-range/index.js", + "./node_modules/webpack/package.json", + "./node_modules/webpack/schemas/WebpackOptions.json", + "./node_modules/webpack/schemas/ajv.absolutePath.js", + "./node_modules/webpack/schemas/plugins/BannerPlugin.json", + "./node_modules/webpack/schemas/plugins/DllPlugin.json", + "./node_modules/webpack/schemas/plugins/DllReferencePlugin.json", + "./node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.json", + "./node_modules/webpack/schemas/plugins/IgnorePlugin.json", + "./node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.json", + "./node_modules/webpack/schemas/plugins/ProgressPlugin.json", + "./node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.json", + "./node_modules/webpack/schemas/plugins/WatchIgnorePlugin.json", + "./node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/OccurrenceOrderChunkIdsPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/OccurrenceOrderModuleIdsPlugin.json", "./node_modules/which/which.js", "./node_modules/widest-line/index.js", "./node_modules/win-version-info/index.js", "./node_modules/wonka/dist/wonka.js", + "./node_modules/worker-farm/lib/index.js", "./node_modules/wrappy/wrappy.js", "./node_modules/xdg-trashdir/index.js", "./node_modules/xdg-trashdir/node_modules/pify/index.js", @@ -3586,10 +4587,13 @@ "./node_modules/xmlbuilder/lib/XMLWriterBase.js", "./node_modules/xmlbuilder/lib/index.js", "./node_modules/xtend/immutable.js", + "./node_modules/y18n/index.js", "./node_modules/yallist/iterator.js", "./node_modules/yallist/yallist.js", "./node_modules/yn/index.js", "./node_modules/yn/lenient.js", + "./npm/webpack-batteries-included-preprocessor/empty.js", + "./npm/webpack-preprocessor/dist/lib/typescript-overrides.js", "./package.json", "./packages/config/node_modules/@babel/traverse/lib/cache.js", "./packages/config/node_modules/@babel/traverse/lib/hub.js", @@ -4299,5 +5303,5 @@ "./tooling/v8-snapshot/cache/linux/snapshot-entry.js" ], "deferredHashFile": "yarn.lock", - "deferredHash": "1e1cdbc2bd022450246378229f01fad8593a9c52be60e43ced5ba9fd685ead92" + "deferredHash": "63e7e3dfb5632f43e6903eac97d2a1d346cea3ded8c76c6ab2c9e82cfbb07f78" } \ No newline at end of file diff --git a/tooling/v8-snapshot/cache/win32/snapshot-meta.json b/tooling/v8-snapshot/cache/win32/snapshot-meta.json index 8add476e29a1..4222c2dcb018 100644 --- a/tooling/v8-snapshot/cache/win32/snapshot-meta.json +++ b/tooling/v8-snapshot/cache/win32/snapshot-meta.json @@ -45,7 +45,9 @@ "./node_modules/send/node_modules/debug/src/node.js", "./node_modules/stream-parser/node_modules/debug/src/node.js", "./node_modules/tcp-port-used/node_modules/debug/src/node.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/fix-owner.js", "./node_modules/trash/node_modules/make-dir/index.js", + "./node_modules/tsconfig-paths/lib/options.js", "./node_modules/utif/UTIF.js", "./packages/config/node_modules/@babel/traverse/lib/path/comments.js", "./packages/config/node_modules/@babel/traverse/lib/path/conversion.js", @@ -217,6 +219,7 @@ "./node_modules/archiver/node_modules/readable-stream/readable.js", "./node_modules/array-uniq/index.js", "./node_modules/assert-plus/assert.js", + "./node_modules/base/index.js", "./node_modules/basic-auth/node_modules/safe-buffer/index.js", "./node_modules/bl/bl.js", "./node_modules/bl/node_modules/readable-stream/errors.js", @@ -229,9 +232,18 @@ "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/stream.js", "./node_modules/bl/node_modules/readable-stream/readable.js", "./node_modules/black-hole-stream/index.js", + "./node_modules/body-parser/index.js", + "./node_modules/body-parser/node_modules/debug/src/browser.js", + "./node_modules/body-parser/node_modules/debug/src/index.js", + "./node_modules/body-parser/node_modules/http-errors/index.js", "./node_modules/buffer-crc32/index.js", "./node_modules/buffer-from/index.js", "./node_modules/chalk/index.js", + "./node_modules/chokidar/index.js", + "./node_modules/chokidar/lib/constants.js", + "./node_modules/chokidar/lib/fsevents-handler.js", + "./node_modules/chokidar/lib/nodefs-handler.js", + "./node_modules/chokidar/node_modules/readdirp/index.js", "./node_modules/chrome-remote-interface/index.js", "./node_modules/chrome-remote-interface/lib/chrome.js", "./node_modules/chrome-remote-interface/node_modules/ws/index.js", @@ -265,6 +277,8 @@ "./node_modules/concat-stream/index.js", "./node_modules/config-chain/index.js", "./node_modules/convert-source-map/node_modules/safe-buffer/index.js", + "./node_modules/copy-concurrently/node_modules/glob/glob.js", + "./node_modules/copy-concurrently/node_modules/glob/sync.js", "./node_modules/cp-file/cp-file-error.js", "./node_modules/cp-file/fs.js", "./node_modules/cp-file/progress-emitter.js", @@ -296,9 +310,17 @@ "./node_modules/encoding/node_modules/iconv-lite/encodings/index.js", "./node_modules/encoding/node_modules/iconv-lite/encodings/internal.js", "./node_modules/encoding/node_modules/iconv-lite/lib/index.js", + "./node_modules/enhanced-resolve/lib/NodeJsInputFileSystem.js", + "./node_modules/enhanced-resolve/lib/Resolver.js", + "./node_modules/enhanced-resolve/lib/createInnerCallback.js", + "./node_modules/enhanced-resolve/lib/node.js", + "./node_modules/errno/errno.js", "./node_modules/esutils/lib/code.js", "./node_modules/evil-dns/evil-dns.js", "./node_modules/execa/node_modules/get-stream/buffer-stream.js", + "./node_modules/expand-brackets/node_modules/debug/src/browser.js", + "./node_modules/expand-brackets/node_modules/debug/src/index.js", + "./node_modules/expand-brackets/node_modules/debug/src/node.js", "./node_modules/express-graphql/index.js", "./node_modules/express-graphql/node_modules/http-errors/index.js", "./node_modules/express-graphql/parseBody.js", @@ -330,9 +352,11 @@ "./node_modules/fluent-ffmpeg/lib/fluent-ffmpeg.js", "./node_modules/fluent-ffmpeg/lib/utils.js", "./node_modules/fluent-ffmpeg/node_modules/async/dist/async.js", + "./node_modules/flush-write-stream/index.js", "./node_modules/follow-redirects/index.js", "./node_modules/forever-agent/index.js", "./node_modules/form-data/lib/form_data.js", + "./node_modules/from2/index.js", "./node_modules/front-matter/index.js", "./node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/loader.js", "./node_modules/front-matter/node_modules/js-yaml/lib/js-yaml/schema/default_full.js", @@ -343,6 +367,7 @@ "./node_modules/fs-extra/lib/json/index.js", "./node_modules/fs-extra/lib/json/jsonfile.js", "./node_modules/fs-extra/lib/path-exists/index.js", + "./node_modules/fs-write-stream-atomic/index.js", "./node_modules/galactus/node_modules/fs-extra/lib/fs/index.js", "./node_modules/galactus/node_modules/fs-extra/lib/index.js", "./node_modules/galactus/node_modules/fs-extra/lib/json/index.js", @@ -406,8 +431,12 @@ "./node_modules/make-dir/node_modules/semver/semver.js", "./node_modules/marionette-client/lib/marionette/index.js", "./node_modules/marionette-client/lib/marionette/marionette.js", + "./node_modules/memfs/lib/index.js", + "./node_modules/memfs/lib/process.js", + "./node_modules/memfs/lib/volume.js", "./node_modules/methods/index.js", "./node_modules/mime/mime.js", + "./node_modules/mississippi/node_modules/through2/through2.js", "./node_modules/mocha-7.0.1/index.js", "./node_modules/mocha-7.0.1/lib/hook.js", "./node_modules/mocha-7.0.1/lib/mocha.js", @@ -459,7 +488,10 @@ "./node_modules/morgan/index.js", "./node_modules/morgan/node_modules/debug/src/browser.js", "./node_modules/morgan/node_modules/debug/src/index.js", + "./node_modules/move-concurrently/node_modules/glob/glob.js", + "./node_modules/move-concurrently/node_modules/glob/sync.js", "./node_modules/move-file/node_modules/semver/semver.js", + "./node_modules/neo-async/async.js", "./node_modules/nested-error-stacks/index.js", "./node_modules/nexus/dist/core.js", "./node_modules/nexus/dist/definitions/list.js", @@ -514,6 +546,7 @@ "./node_modules/node-forge/lib/util.js", "./node_modules/node-forge/lib/x509.js", "./node_modules/node-gyp-build/index.js", + "./node_modules/node-libs-browser/index.js", "./node_modules/node-machine-id/dist/index.js", "./node_modules/normalize-package-data/node_modules/semver/semver.js", "./node_modules/npm-conf/lib/conf.js", @@ -522,6 +555,7 @@ "./node_modules/os-homedir/index.js", "./node_modules/pako/lib/utils/strings.js", "./node_modules/pako/lib/zlib/trees.js", + "./node_modules/parallel-transform/index.js", "./node_modules/performance-now/lib/performance-now.js", "./node_modules/phin/lib/phin.compiled.js", "./node_modules/picomatch/index.js", @@ -542,6 +576,7 @@ "./node_modules/pseudomap/map.js", "./node_modules/pumpify/index.js", "./node_modules/queue/index.js", + "./node_modules/randombytes/index.js", "./node_modules/react-docgen/dist/babelParser.js", "./node_modules/react-docgen/dist/importer/index.js", "./node_modules/react-docgen/dist/importer/makeFsImporter.js", @@ -559,6 +594,7 @@ "./node_modules/readable-stream/readable.js", "./node_modules/readable-stream/transform.js", "./node_modules/readdir-glob/index.js", + "./node_modules/readdirp/stream-api.js", "./node_modules/recast/lib/comments.js", "./node_modules/recast/lib/fast-path.js", "./node_modules/recast/lib/lines.js", @@ -585,14 +621,21 @@ "./node_modules/safe-buffer/index.js", "./node_modules/safer-buffer/safer.js", "./node_modules/sax/lib/sax.js", + "./node_modules/schema-utils/src/index.js", + "./node_modules/schema-utils/src/validateOptions.js", "./node_modules/semaphore/lib/semaphore.js", "./node_modules/send/index.js", "./node_modules/send/node_modules/debug/src/browser.js", "./node_modules/send/node_modules/debug/src/index.js", + "./node_modules/serialize-javascript/index.js", "./node_modules/shell-env/node_modules/execa/lib/errname.js", "./node_modules/shell-env/node_modules/semver/semver.js", "./node_modules/signal-exit/signals.js", "./node_modules/simple-git/dist/cjs/index.js", + "./node_modules/snapdragon/index.js", + "./node_modules/snapdragon/node_modules/debug/src/browser.js", + "./node_modules/snapdragon/node_modules/debug/src/index.js", + "./node_modules/snapdragon/node_modules/debug/src/node.js", "./node_modules/socket.io-adapter/dist/index.js", "./node_modules/sprintf-js/src/sprintf.js", "./node_modules/sshpk/lib/algs.js", @@ -625,6 +668,7 @@ "./node_modules/systeminformation/lib/dockerSocket.js", "./node_modules/systeminformation/lib/index.js", "./node_modules/systeminformation/lib/util.js", + "./node_modules/tapable/lib/Tapable.js", "./node_modules/tar-stream/extract.js", "./node_modules/tar-stream/node_modules/readable-stream/errors.js", "./node_modules/tar-stream/node_modules/readable-stream/lib/_stream_duplex.js", @@ -638,6 +682,24 @@ "./node_modules/tar-stream/pack.js", "./node_modules/tcp-port-used/node_modules/debug/src/browser.js", "./node_modules/tcp-port-used/node_modules/debug/src/index.js", + "./node_modules/terser-webpack-plugin/dist/TaskRunner.js", + "./node_modules/terser-webpack-plugin/dist/cjs.js", + "./node_modules/terser-webpack-plugin/dist/index.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/get.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/index.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/read.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/write.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/entry-index.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/verify.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/locales/en.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/ls.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/put.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/verify.js", + "./node_modules/terser-webpack-plugin/node_modules/chownr/chownr.js", + "./node_modules/terser-webpack-plugin/node_modules/glob/glob.js", + "./node_modules/terser-webpack-plugin/node_modules/glob/sync.js", + "./node_modules/terser-webpack-plugin/node_modules/is-wsl/index.js", + "./node_modules/terser-webpack-plugin/node_modules/ssri/index.js", "./node_modules/throttle/throttle.js", "./node_modules/tough-cookie/lib/cookie.js", "./node_modules/tough-cookie/lib/memstore.js", @@ -655,6 +717,8 @@ "./node_modules/ts-node/dist/index.js", "./node_modules/ts-node/dist/repl.js", "./node_modules/ts-node/dist/util.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/logger.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk/source/index.js", "./node_modules/tunnel-agent/index.js", "./node_modules/tunnel/index.js", "./node_modules/tunnel/lib/tunnel.js", @@ -662,6 +726,7 @@ "./node_modules/underscore.string/index.js", "./node_modules/underscore.string/sprintf.js", "./node_modules/underscore.string/vsprintf.js", + "./node_modules/upath/build/code/upath.js", "./node_modules/user-home/index.js", "./node_modules/utf8-stream/node_modules/readable-stream/lib/_stream_duplex.js", "./node_modules/utf8-stream/node_modules/readable-stream/lib/_stream_readable.js", @@ -670,11 +735,132 @@ "./node_modules/utf8-stream/node_modules/readable-stream/transform.js", "./node_modules/util-deprecate/node.js", "./node_modules/verror/lib/verror.js", + "./node_modules/watchpack-chokidar2/index.js", + "./node_modules/watchpack-chokidar2/node_modules/chokidar/index.js", + "./node_modules/watchpack-chokidar2/node_modules/chokidar/lib/fsevents-handler.js", + "./node_modules/watchpack-chokidar2/node_modules/glob-parent/index.js", + "./node_modules/watchpack/lib/DirectoryWatcher.js", + "./node_modules/watchpack/lib/chokidar.js", + "./node_modules/watchpack/lib/watchpack.js", + "./node_modules/webpack/lib/AbstractMethodError.js", + "./node_modules/webpack/lib/AsyncDependencyToInitialChunkError.js", + "./node_modules/webpack/lib/CaseSensitiveModulesWarning.js", + "./node_modules/webpack/lib/Chunk.js", + "./node_modules/webpack/lib/ChunkRenderError.js", + "./node_modules/webpack/lib/ChunkTemplate.js", + "./node_modules/webpack/lib/CommentCompilationWarning.js", + "./node_modules/webpack/lib/Compilation.js", + "./node_modules/webpack/lib/Compiler.js", + "./node_modules/webpack/lib/ConcurrentCompilationError.js", + "./node_modules/webpack/lib/ContextModule.js", + "./node_modules/webpack/lib/ContextModuleFactory.js", + "./node_modules/webpack/lib/DelegatedModule.js", + "./node_modules/webpack/lib/Dependency.js", + "./node_modules/webpack/lib/DllModule.js", + "./node_modules/webpack/lib/DllModuleFactory.js", + "./node_modules/webpack/lib/DllReferencePlugin.js", + "./node_modules/webpack/lib/EntryModuleNotFoundError.js", + "./node_modules/webpack/lib/ExternalModule.js", + "./node_modules/webpack/lib/HarmonyLinkingError.js", + "./node_modules/webpack/lib/HotUpdateChunk.js", + "./node_modules/webpack/lib/HotUpdateChunkTemplate.js", + "./node_modules/webpack/lib/MainTemplate.js", + "./node_modules/webpack/lib/Module.js", + "./node_modules/webpack/lib/ModuleBuildError.js", + "./node_modules/webpack/lib/ModuleDependencyError.js", + "./node_modules/webpack/lib/ModuleDependencyWarning.js", + "./node_modules/webpack/lib/ModuleError.js", + "./node_modules/webpack/lib/ModuleNotFoundError.js", + "./node_modules/webpack/lib/ModuleParseError.js", + "./node_modules/webpack/lib/ModuleTemplate.js", + "./node_modules/webpack/lib/ModuleWarning.js", + "./node_modules/webpack/lib/MultiCompiler.js", + "./node_modules/webpack/lib/MultiModule.js", + "./node_modules/webpack/lib/MultiModuleFactory.js", + "./node_modules/webpack/lib/NoModeWarning.js", + "./node_modules/webpack/lib/NormalModule.js", + "./node_modules/webpack/lib/NormalModuleFactory.js", + "./node_modules/webpack/lib/Parser.js", + "./node_modules/webpack/lib/RawModule.js", + "./node_modules/webpack/lib/RemovedPluginError.js", + "./node_modules/webpack/lib/ResolverFactory.js", + "./node_modules/webpack/lib/UnsupportedFeatureWarning.js", + "./node_modules/webpack/lib/WebpackError.js", + "./node_modules/webpack/lib/WebpackOptionsValidationError.js", + "./node_modules/webpack/lib/debug/ProfilingPlugin.js", + "./node_modules/webpack/lib/dependencies/AMDDefineDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireArrayDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireContextDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireDependency.js", + "./node_modules/webpack/lib/dependencies/AMDRequireItemDependency.js", + "./node_modules/webpack/lib/dependencies/CommonJsRequireContextDependency.js", + "./node_modules/webpack/lib/dependencies/CommonJsRequireDependency.js", + "./node_modules/webpack/lib/dependencies/ConstDependency.js", + "./node_modules/webpack/lib/dependencies/ContextDependency.js", + "./node_modules/webpack/lib/dependencies/ContextElementDependency.js", + "./node_modules/webpack/lib/dependencies/CriticalDependencyWarning.js", + "./node_modules/webpack/lib/dependencies/DelegatedExportsDependency.js", + "./node_modules/webpack/lib/dependencies/DelegatedSourceDependency.js", + "./node_modules/webpack/lib/dependencies/DllEntryDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyAcceptDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyAcceptImportDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyCompatibilityDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportExpressionDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportHeaderDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportImportedSpecifierDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportSpecifierDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportSideEffectDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportSpecifierDependency.js", + "./node_modules/webpack/lib/dependencies/HarmonyInitDependency.js", + "./node_modules/webpack/lib/dependencies/ImportContextDependency.js", + "./node_modules/webpack/lib/dependencies/ImportDependency.js", + "./node_modules/webpack/lib/dependencies/ImportEagerDependency.js", + "./node_modules/webpack/lib/dependencies/ImportWeakDependency.js", + "./node_modules/webpack/lib/dependencies/JsonExportsDependency.js", + "./node_modules/webpack/lib/dependencies/LoaderDependency.js", + "./node_modules/webpack/lib/dependencies/LocalModuleDependency.js", + "./node_modules/webpack/lib/dependencies/ModuleDependency.js", + "./node_modules/webpack/lib/dependencies/ModuleHotAcceptDependency.js", + "./node_modules/webpack/lib/dependencies/ModuleHotDeclineDependency.js", + "./node_modules/webpack/lib/dependencies/MultiEntryDependency.js", + "./node_modules/webpack/lib/dependencies/NullDependency.js", + "./node_modules/webpack/lib/dependencies/PrefetchDependency.js", + "./node_modules/webpack/lib/dependencies/RequireContextDependency.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureDependency.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureItemDependency.js", + "./node_modules/webpack/lib/dependencies/RequireHeaderDependency.js", + "./node_modules/webpack/lib/dependencies/RequireIncludeDependency.js", + "./node_modules/webpack/lib/dependencies/RequireResolveContextDependency.js", + "./node_modules/webpack/lib/dependencies/RequireResolveDependency.js", + "./node_modules/webpack/lib/dependencies/RequireResolveHeaderDependency.js", + "./node_modules/webpack/lib/dependencies/SingleEntryDependency.js", + "./node_modules/webpack/lib/dependencies/SystemPlugin.js", + "./node_modules/webpack/lib/dependencies/UnsupportedDependency.js", + "./node_modules/webpack/lib/dependencies/WebAssemblyExportImportedDependency.js", + "./node_modules/webpack/lib/dependencies/WebAssemblyImportDependency.js", + "./node_modules/webpack/lib/node/nodeConsole.js", + "./node_modules/webpack/lib/optimize/ConcatenatedModule.js", + "./node_modules/webpack/lib/optimize/MinMaxSizeWarning.js", + "./node_modules/webpack/lib/performance/AssetsOverSizeLimitWarning.js", + "./node_modules/webpack/lib/performance/EntrypointsOverSizeLimitWarning.js", + "./node_modules/webpack/lib/performance/NoAsyncChunksWarning.js", + "./node_modules/webpack/lib/util/StackedSetMap.js", + "./node_modules/webpack/lib/validateSchema.js", + "./node_modules/webpack/lib/wasm/UnsupportedWebAssemblyFeatureError.js", + "./node_modules/webpack/lib/wasm/WebAssemblyInInitialChunkError.js", + "./node_modules/webpack/lib/wasm/WebAssemblyParser.js", + "./node_modules/webpack/lib/webpack.js", "./node_modules/win-version-info/index.js", + "./node_modules/worker-farm/lib/farm.js", + "./node_modules/worker-farm/lib/fork.js", "./node_modules/xdg-trashdir/node_modules/xdg-basedir/index.js", "./node_modules/xml2js/lib/xml2js.js", "./node_modules/yauzl/index.js", "./node_modules/zip-stream/index.js", + "./npm/webpack-batteries-included-preprocessor/index.js", + "./npm/webpack-preprocessor/dist/index.js", + "./npm/webpack-preprocessor/dist/lib/utils.js", "./packages/config/index.js", "./packages/config/node_modules/@babel/traverse/lib/context.js", "./packages/config/node_modules/@babel/traverse/lib/index.js", @@ -815,6 +1001,7 @@ "./packages/server/lib/cloud/routes.ts", "./packages/server/lib/cloud/upload.ts", "./packages/server/lib/cloud/user.ts", + "./packages/server/lib/cross-origin/process-callback.ts", "./packages/server/lib/cypress.js", "./packages/server/lib/environment.js", "./packages/server/lib/files.js", @@ -902,6 +1089,8 @@ "./packages/server/node_modules/uuid/dist/v3.js", "./packages/server/node_modules/uuid/dist/v4.js", "./packages/server/node_modules/uuid/dist/v5.js", + "./packages/server/node_modules/webpack-virtual-modules/lib/index.js", + "./packages/server/node_modules/webpack-virtual-modules/lib/virtual-stats.js", "./packages/server/start-cypress.js", "./packages/server/v8-snapshot-entry.js", "./packages/socket/index.js", @@ -1304,6 +1493,141 @@ "./node_modules/@urql/exchange-graphcache/dist/7832a774.js", "./node_modules/@urql/exchange-graphcache/dist/urql-exchange-graphcache-extras.js", "./node_modules/@urql/exchange-graphcache/dist/urql-exchange-graphcache.js", + "./node_modules/@webassemblyjs/helper-code-frame/lib/index.js", + "./node_modules/@webassemblyjs/helper-fsm/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/helper-module-context/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/helper-wasm-section/lib/create.js", + "./node_modules/@webassemblyjs/helper-wasm-section/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/lib/remove.js", + "./node_modules/@webassemblyjs/helper-wasm-section/lib/resize.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/helper-buffer/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/ieee754/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/leb128/lib/bits.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/leb128/lib/bufs.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/leb128/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/leb128/lib/leb.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/utf8/lib/decoder.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/utf8/lib/encoder.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/utf8/lib/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js", + "./node_modules/@webassemblyjs/helper-wasm-section/node_modules/@webassemblyjs/wasm-gen/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/lib/apply.js", + "./node_modules/@webassemblyjs/wasm-edit/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/helper-buffer/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/ieee754/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/leb128/lib/bits.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/leb128/lib/bufs.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/leb128/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/leb128/lib/leb.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/utf8/lib/decoder.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/utf8/lib/encoder.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/utf8/lib/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js", + "./node_modules/@webassemblyjs/wasm-edit/node_modules/@webassemblyjs/wasm-gen/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/lib/leb128.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/helper-buffer/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/ieee754/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/leb128/lib/bits.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/leb128/lib/bufs.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/leb128/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/leb128/lib/leb.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/utf8/lib/decoder.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/utf8/lib/encoder.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/utf8/lib/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/wasm-gen/lib/encoder/index.js", + "./node_modules/@webassemblyjs/wasm-opt/node_modules/@webassemblyjs/wasm-gen/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/lib/decoder.js", + "./node_modules/@webassemblyjs/wasm-parser/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/helper-api-error/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/ieee754/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/leb128/lib/bits.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/leb128/lib/bufs.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/leb128/lib/index.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/leb128/lib/leb.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/utf8/lib/decoder.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/utf8/lib/encoder.js", + "./node_modules/@webassemblyjs/wasm-parser/node_modules/@webassemblyjs/utf8/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/lib/grammar.js", + "./node_modules/@webassemblyjs/wast-parser/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/lib/number-literals.js", + "./node_modules/@webassemblyjs/wast-parser/lib/string-literals.js", + "./node_modules/@webassemblyjs/wast-parser/lib/tokenizer.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/floating-point-hex-parser/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-api-error/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/wast-parser/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@webassemblyjs/wast-printer/lib/index.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/@webassemblyjs/wast-printer/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/@xtuc/ieee754/dist/index.cjs.js", + "./node_modules/@xtuc/long/src/long.js", "./node_modules/accepts/index.js", "./node_modules/acorn-node/index.js", "./node_modules/acorn-node/lib/bigint/index.js", @@ -1316,6 +1640,7 @@ "./node_modules/acorn-node/lib/static-class-features/index.js", "./node_modules/acorn-node/node_modules/acorn/dist/acorn.js", "./node_modules/acorn-walk/dist/walk.js", + "./node_modules/acorn/dist/acorn.js", "./node_modules/adm-zip/headers/entryHeader.js", "./node_modules/adm-zip/headers/index.js", "./node_modules/adm-zip/headers/mainHeader.js", @@ -1327,6 +1652,75 @@ "./node_modules/adm-zip/util/fileSystem.js", "./node_modules/adm-zip/zipEntry.js", "./node_modules/adm-zip/zipFile.js", + "./node_modules/ajv-errors/index.js", + "./node_modules/ajv-errors/lib/dotjs/errorMessage.js", + "./node_modules/ajv-keywords/index.js", + "./node_modules/ajv-keywords/keywords/_formatLimit.js", + "./node_modules/ajv-keywords/keywords/_util.js", + "./node_modules/ajv-keywords/keywords/allRequired.js", + "./node_modules/ajv-keywords/keywords/anyRequired.js", + "./node_modules/ajv-keywords/keywords/deepProperties.js", + "./node_modules/ajv-keywords/keywords/deepRequired.js", + "./node_modules/ajv-keywords/keywords/dotjs/_formatLimit.js", + "./node_modules/ajv-keywords/keywords/dotjs/patternRequired.js", + "./node_modules/ajv-keywords/keywords/dotjs/switch.js", + "./node_modules/ajv-keywords/keywords/dynamicDefaults.js", + "./node_modules/ajv-keywords/keywords/formatMaximum.js", + "./node_modules/ajv-keywords/keywords/formatMinimum.js", + "./node_modules/ajv-keywords/keywords/index.js", + "./node_modules/ajv-keywords/keywords/instanceof.js", + "./node_modules/ajv-keywords/keywords/oneRequired.js", + "./node_modules/ajv-keywords/keywords/patternRequired.js", + "./node_modules/ajv-keywords/keywords/prohibited.js", + "./node_modules/ajv-keywords/keywords/range.js", + "./node_modules/ajv-keywords/keywords/regexp.js", + "./node_modules/ajv-keywords/keywords/select.js", + "./node_modules/ajv-keywords/keywords/switch.js", + "./node_modules/ajv-keywords/keywords/transform.js", + "./node_modules/ajv-keywords/keywords/typeof.js", + "./node_modules/ajv-keywords/keywords/uniqueItemProperties.js", + "./node_modules/ajv/lib/ajv.js", + "./node_modules/ajv/lib/cache.js", + "./node_modules/ajv/lib/compile/async.js", + "./node_modules/ajv/lib/compile/error_classes.js", + "./node_modules/ajv/lib/compile/formats.js", + "./node_modules/ajv/lib/compile/index.js", + "./node_modules/ajv/lib/compile/resolve.js", + "./node_modules/ajv/lib/compile/rules.js", + "./node_modules/ajv/lib/compile/schema_obj.js", + "./node_modules/ajv/lib/compile/ucs2length.js", + "./node_modules/ajv/lib/compile/util.js", + "./node_modules/ajv/lib/data.js", + "./node_modules/ajv/lib/definition_schema.js", + "./node_modules/ajv/lib/dotjs/_limit.js", + "./node_modules/ajv/lib/dotjs/_limitItems.js", + "./node_modules/ajv/lib/dotjs/_limitLength.js", + "./node_modules/ajv/lib/dotjs/_limitProperties.js", + "./node_modules/ajv/lib/dotjs/allOf.js", + "./node_modules/ajv/lib/dotjs/anyOf.js", + "./node_modules/ajv/lib/dotjs/comment.js", + "./node_modules/ajv/lib/dotjs/const.js", + "./node_modules/ajv/lib/dotjs/contains.js", + "./node_modules/ajv/lib/dotjs/custom.js", + "./node_modules/ajv/lib/dotjs/dependencies.js", + "./node_modules/ajv/lib/dotjs/enum.js", + "./node_modules/ajv/lib/dotjs/format.js", + "./node_modules/ajv/lib/dotjs/if.js", + "./node_modules/ajv/lib/dotjs/index.js", + "./node_modules/ajv/lib/dotjs/items.js", + "./node_modules/ajv/lib/dotjs/multipleOf.js", + "./node_modules/ajv/lib/dotjs/not.js", + "./node_modules/ajv/lib/dotjs/oneOf.js", + "./node_modules/ajv/lib/dotjs/pattern.js", + "./node_modules/ajv/lib/dotjs/properties.js", + "./node_modules/ajv/lib/dotjs/propertyNames.js", + "./node_modules/ajv/lib/dotjs/ref.js", + "./node_modules/ajv/lib/dotjs/required.js", + "./node_modules/ajv/lib/dotjs/uniqueItems.js", + "./node_modules/ajv/lib/dotjs/validate.js", + "./node_modules/ajv/lib/keyword.js", + "./node_modules/ajv/lib/refs/data.json", + "./node_modules/ajv/lib/refs/json-schema-draft-07.json", "./node_modules/ansi-regex/index.js", "./node_modules/ansi-styles/index.js", "./node_modules/ansi_up/ansi_up.js", @@ -1344,13 +1738,18 @@ "./node_modules/archiver/node_modules/readable-stream/lib/internal/streams/from.js", "./node_modules/archiver/node_modules/readable-stream/lib/internal/streams/pipeline.js", "./node_modules/archiver/node_modules/readable-stream/lib/internal/streams/state.js", + "./node_modules/arr-diff/index.js", + "./node_modules/arr-flatten/index.js", + "./node_modules/arr-union/index.js", "./node_modules/array-union/index.js", + "./node_modules/array-unique/index.js", "./node_modules/asn1/lib/ber/errors.js", "./node_modules/asn1/lib/ber/index.js", "./node_modules/asn1/lib/ber/reader.js", "./node_modules/asn1/lib/ber/types.js", "./node_modules/asn1/lib/ber/writer.js", "./node_modules/asn1/lib/index.js", + "./node_modules/assign-symbols/index.js", "./node_modules/ast-types/def/babel-core.js", "./node_modules/ast-types/def/babel.js", "./node_modules/ast-types/def/core-operators.js", @@ -1378,6 +1777,7 @@ "./node_modules/ast-types/lib/types.js", "./node_modules/ast-types/main.js", "./node_modules/astral-regex/index.js", + "./node_modules/async-each/index.js", "./node_modules/asynckit/index.js", "./node_modules/asynckit/lib/abort.js", "./node_modules/asynckit/lib/async.js", @@ -1389,12 +1789,14 @@ "./node_modules/asynckit/serial.js", "./node_modules/asynckit/serialOrdered.js", "./node_modules/at-least-node/index.js", + "./node_modules/atob/node-atob.js", "./node_modules/author-regex/index.js", "./node_modules/aws-sign2/index.js", "./node_modules/aws4/aws4.js", "./node_modules/aws4/lru.js", "./node_modules/babylon/lib/index.js", "./node_modules/balanced-match/index.js", + "./node_modules/base/node_modules/define-property/index.js", "./node_modules/base64-js/index.js", "./node_modules/base64id/lib/base64id.js", "./node_modules/basic-auth/index.js", @@ -1409,6 +1811,23 @@ "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/from.js", "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/pipeline.js", "./node_modules/bl/node_modules/readable-stream/lib/internal/streams/state.js", + "./node_modules/body-parser/lib/read.js", + "./node_modules/body-parser/lib/types/json.js", + "./node_modules/body-parser/lib/types/raw.js", + "./node_modules/body-parser/lib/types/text.js", + "./node_modules/body-parser/lib/types/urlencoded.js", + "./node_modules/body-parser/node_modules/bytes/index.js", + "./node_modules/body-parser/node_modules/debug/src/debug.js", + "./node_modules/body-parser/node_modules/inherits/inherits.js", + "./node_modules/body-parser/node_modules/inherits/inherits_browser.js", + "./node_modules/body-parser/node_modules/ms/index.js", + "./node_modules/body-parser/node_modules/qs/lib/formats.js", + "./node_modules/body-parser/node_modules/qs/lib/index.js", + "./node_modules/body-parser/node_modules/qs/lib/parse.js", + "./node_modules/body-parser/node_modules/qs/lib/stringify.js", + "./node_modules/body-parser/node_modules/qs/lib/utils.js", + "./node_modules/body-parser/node_modules/raw-body/index.js", + "./node_modules/body-parser/node_modules/setprototypeof/index.js", "./node_modules/boolean/build/lib/boolean.js", "./node_modules/brace-expansion/index.js", "./node_modules/braces/index.js", @@ -1423,6 +1842,7 @@ "./node_modules/browserslist/node.js", "./node_modules/browserslist/parse.js", "./node_modules/bytes/index.js", + "./node_modules/cache-base/index.js", "./node_modules/caniuse-lite/data/agents.js", "./node_modules/caniuse-lite/data/browserVersions.js", "./node_modules/caniuse-lite/data/browsers.js", @@ -1456,9 +1876,12 @@ "./node_modules/chrome-remote-interface/node_modules/ws/lib/sender.js", "./node_modules/chrome-remote-interface/node_modules/ws/lib/stream.js", "./node_modules/chrome-remote-interface/node_modules/ws/lib/validation.js", + "./node_modules/chrome-trace-event/dist/trace-event.js", + "./node_modules/chrome-trace-event/node_modules/tslib/tslib.js", "./node_modules/ci-info/index.js", "./node_modules/ci-info/vendors.json", "./node_modules/circular-json/build/circular-json.node.js", + "./node_modules/class-utils/index.js", "./node_modules/cli-truncate/index.js", "./node_modules/cli-truncate/node_modules/is-fullwidth-code-point/index.js", "./node_modules/cli-truncate/node_modules/slice-ansi/index.js", @@ -1469,6 +1892,7 @@ "./node_modules/coffeescript/lib/coffee-script/scope.js", "./node_modules/coffeescript/lib/coffee-script/sourcemap.js", "./node_modules/coffeescript/package.json", + "./node_modules/collection-visit/index.js", "./node_modules/color-convert/conversions.js", "./node_modules/color-convert/index.js", "./node_modules/color-convert/route.js", @@ -1534,6 +1958,7 @@ "./node_modules/common-tags/lib/stripIndents/stripIndents.js", "./node_modules/common-tags/lib/trimResultTransformer/index.js", "./node_modules/common-tags/lib/trimResultTransformer/trimResultTransformer.js", + "./node_modules/commondir/index.js", "./node_modules/component-emitter/index.js", "./node_modules/compress-commons/lib/archivers/archive-entry.js", "./node_modules/compress-commons/lib/archivers/zip/general-purpose-bit.js", @@ -1558,6 +1983,12 @@ "./node_modules/cookie-parser/node_modules/cookie/index.js", "./node_modules/cookie-signature/index.js", "./node_modules/cookie/index.js", + "./node_modules/copy-concurrently/copy.js", + "./node_modules/copy-concurrently/is-windows.js", + "./node_modules/copy-concurrently/node_modules/aproba/index.js", + "./node_modules/copy-concurrently/node_modules/glob/common.js", + "./node_modules/copy-concurrently/node_modules/rimraf/rimraf.js", + "./node_modules/copy-descriptor/index.js", "./node_modules/core-util-is/lib/util.js", "./node_modules/cors/lib/index.js", "./node_modules/cp-file/index.js", @@ -1584,6 +2015,7 @@ "./node_modules/cross-spawn/node_modules/shebang-regex/index.js", "./node_modules/cross-spawn/node_modules/which/which.js", "./node_modules/crypt/crypt.js", + "./node_modules/cyclist/index.js", "./node_modules/data-uri-to-buffer/index.js", "./node_modules/dayjs/dayjs.min.js", "./node_modules/dayjs/plugin/duration.js", @@ -1591,10 +2023,18 @@ "./node_modules/dayjs/plugin/updateLocale.js", "./node_modules/debug/node_modules/ms/index.js", "./node_modules/debug/src/common.js", + "./node_modules/decode-uri-component/index.js", "./node_modules/decompress-response/index.js", "./node_modules/dedent/dist/dedent.js", "./node_modules/deep-is/index.js", "./node_modules/define-properties/index.js", + "./node_modules/define-property/index.js", + "./node_modules/define-property/node_modules/is-accessor-descriptor/index.js", + "./node_modules/define-property/node_modules/is-accessor-descriptor/node_modules/kind-of/index.js", + "./node_modules/define-property/node_modules/is-data-descriptor/index.js", + "./node_modules/define-property/node_modules/is-data-descriptor/node_modules/kind-of/index.js", + "./node_modules/define-property/node_modules/is-descriptor/index.js", + "./node_modules/define-property/node_modules/kind-of/index.js", "./node_modules/depd/lib/compat/callsite-tostring.js", "./node_modules/depd/lib/compat/event-listener-count.js", "./node_modules/depd/lib/compat/index.js", @@ -1705,7 +2145,45 @@ "./node_modules/encoding/node_modules/iconv-lite/lib/bom-handling.js", "./node_modules/encoding/node_modules/iconv-lite/lib/streams.js", "./node_modules/end-of-stream/index.js", + "./node_modules/enhanced-resolve/lib/AliasFieldPlugin.js", + "./node_modules/enhanced-resolve/lib/AliasPlugin.js", + "./node_modules/enhanced-resolve/lib/AppendPlugin.js", + "./node_modules/enhanced-resolve/lib/CachedInputFileSystem.js", + "./node_modules/enhanced-resolve/lib/ConcordExtensionsPlugin.js", + "./node_modules/enhanced-resolve/lib/ConcordMainPlugin.js", + "./node_modules/enhanced-resolve/lib/ConcordModulesPlugin.js", + "./node_modules/enhanced-resolve/lib/DescriptionFilePlugin.js", + "./node_modules/enhanced-resolve/lib/DescriptionFileUtils.js", + "./node_modules/enhanced-resolve/lib/DirectoryExistsPlugin.js", + "./node_modules/enhanced-resolve/lib/FileExistsPlugin.js", + "./node_modules/enhanced-resolve/lib/FileKindPlugin.js", + "./node_modules/enhanced-resolve/lib/JoinRequestPlugin.js", + "./node_modules/enhanced-resolve/lib/MainFieldPlugin.js", + "./node_modules/enhanced-resolve/lib/ModuleAppendPlugin.js", + "./node_modules/enhanced-resolve/lib/ModuleKindPlugin.js", + "./node_modules/enhanced-resolve/lib/ModulesInHierachicDirectoriesPlugin.js", + "./node_modules/enhanced-resolve/lib/ModulesInRootPlugin.js", + "./node_modules/enhanced-resolve/lib/NextPlugin.js", + "./node_modules/enhanced-resolve/lib/ParsePlugin.js", + "./node_modules/enhanced-resolve/lib/ResolverFactory.js", + "./node_modules/enhanced-resolve/lib/RestrictionsPlugin.js", + "./node_modules/enhanced-resolve/lib/ResultPlugin.js", + "./node_modules/enhanced-resolve/lib/RootPlugin.js", + "./node_modules/enhanced-resolve/lib/SymlinkPlugin.js", + "./node_modules/enhanced-resolve/lib/SyncAsyncFileSystemDecorator.js", + "./node_modules/enhanced-resolve/lib/TryNextPlugin.js", + "./node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js", + "./node_modules/enhanced-resolve/lib/UseFilePlugin.js", + "./node_modules/enhanced-resolve/lib/concord.js", + "./node_modules/enhanced-resolve/lib/createInnerContext.js", + "./node_modules/enhanced-resolve/lib/forEachBail.js", + "./node_modules/enhanced-resolve/lib/getInnerRequest.js", + "./node_modules/enhanced-resolve/lib/getPaths.js", + "./node_modules/enhanced-resolve/lib/globToRegExp.js", + "./node_modules/enhanced-resolve/node_modules/memory-fs/lib/join.js", + "./node_modules/enhanced-resolve/node_modules/memory-fs/lib/normalize.js", "./node_modules/env-paths/index.js", + "./node_modules/errno/custom.js", "./node_modules/error-ex/index.js", "./node_modules/errorhandler/index.js", "./node_modules/es6-error/lib/index.js", @@ -1714,6 +2192,11 @@ "./node_modules/escape-string-applescript/index.js", "./node_modules/escape-string-regexp/index.js", "./node_modules/esprima/dist/esprima.js", + "./node_modules/esrecurse/esrecurse.js", + "./node_modules/esrecurse/node_modules/estraverse/estraverse.js", + "./node_modules/esrecurse/package.json", + "./node_modules/estraverse/estraverse.js", + "./node_modules/estraverse/package.json", "./node_modules/estree-to-babel/lib/comments.js", "./node_modules/estree-to-babel/lib/estree-to-babel.js", "./node_modules/estree-to-babel/lib/get-ast.js", @@ -1746,6 +2229,12 @@ "./node_modules/exif-parser/lib/jpeg.js", "./node_modules/exif-parser/lib/parser.js", "./node_modules/exif-parser/lib/simplify.js", + "./node_modules/expand-brackets/index.js", + "./node_modules/expand-brackets/lib/compilers.js", + "./node_modules/expand-brackets/lib/parsers.js", + "./node_modules/expand-brackets/lib/utils.js", + "./node_modules/expand-brackets/node_modules/debug/src/debug.js", + "./node_modules/expand-brackets/node_modules/ms/index.js", "./node_modules/express-graphql/renderGraphiQL.js", "./node_modules/express/index.js", "./node_modules/express/lib/express.js", @@ -1771,10 +2260,18 @@ "./node_modules/express/node_modules/qs/lib/utils.js", "./node_modules/ext-list/index.js", "./node_modules/ext-name/index.js", + "./node_modules/extend-shallow/index.js", "./node_modules/extend/index.js", + "./node_modules/extglob/index.js", + "./node_modules/extglob/lib/compilers.js", + "./node_modules/extglob/lib/extglob.js", + "./node_modules/extglob/lib/parsers.js", + "./node_modules/extglob/lib/utils.js", + "./node_modules/extglob/node_modules/define-property/index.js", "./node_modules/extract-zip/index.js", "./node_modules/extract-zip/node_modules/get-stream/index.js", "./node_modules/extsprintf/lib/extsprintf.js", + "./node_modules/fast-deep-equal/index.js", "./node_modules/fast-glob/out/index.js", "./node_modules/fast-glob/out/managers/patterns.js", "./node_modules/fast-glob/out/managers/tasks.js", @@ -1799,7 +2296,9 @@ "./node_modules/fast-glob/out/utils/pattern.js", "./node_modules/fast-glob/out/utils/stream.js", "./node_modules/fast-glob/out/utils/string.js", + "./node_modules/fast-json-stable-stringify/index.js", "./node_modules/fastq/queue.js", + "./node_modules/figgy-pudding/index.js", "./node_modules/filename-reserved-regex/index.js", "./node_modules/filenamify/filenamify-path.js", "./node_modules/filenamify/filenamify.js", @@ -1808,11 +2307,13 @@ "./node_modules/finalhandler/index.js", "./node_modules/finalhandler/node_modules/debug/src/debug.js", "./node_modules/finalhandler/node_modules/ms/index.js", + "./node_modules/find-cache-dir/index.js", "./node_modules/find-process/index.js", "./node_modules/find-process/lib/find.js", "./node_modules/find-process/lib/find_pid.js", "./node_modules/find-process/lib/find_process.js", "./node_modules/find-process/lib/utils.js", + "./node_modules/find-up/index.js", "./node_modules/firefox-profile/lib/firefox_profile.js", "./node_modules/firefox-profile/lib/profile_finder.js", "./node_modules/firefox-profile/node_modules/fs-extra/lib/copy-sync/copy-file-sync.js", @@ -1882,8 +2383,10 @@ "./node_modules/fluent-ffmpeg/lib/processor.js", "./node_modules/fluent-ffmpeg/lib/recipes.js", "./node_modules/follow-redirects/debug.js", + "./node_modules/for-in/index.js", "./node_modules/form-data/lib/populate.js", "./node_modules/forwarded/index.js", + "./node_modules/fragment-cache/index.js", "./node_modules/fresh/index.js", "./node_modules/front-matter/node_modules/js-yaml/index.js", "./node_modules/front-matter/node_modules/js-yaml/lib/js-yaml.js", @@ -1938,6 +2441,8 @@ "./node_modules/fs-extra/lib/util/utimes.js", "./node_modules/fs-extra/node_modules/jsonfile/utils.js", "./node_modules/fs-extra/node_modules/universalify/index.js", + "./node_modules/fs-monkey/lib/correctPath.js", + "./node_modules/fs-monkey/lib/util/lists.js", "./node_modules/fs.realpath/index.js", "./node_modules/fs.realpath/old.js", "./node_modules/function-bind/implementation.js", @@ -1991,6 +2496,7 @@ "./node_modules/get-package-info/node_modules/read-pkg/index.js", "./node_modules/get-port/index.js", "./node_modules/get-stream/index.js", + "./node_modules/get-value/index.js", "./node_modules/getos/index.js", "./node_modules/getos/os.json", "./node_modules/gifwrap/src/bitmapimage.js", @@ -2197,6 +2703,9 @@ "./node_modules/growl/lib/growl.js", "./node_modules/has-flag/index.js", "./node_modules/has-symbols/shams.js", + "./node_modules/has-value/index.js", + "./node_modules/has-values/index.js", + "./node_modules/has-values/node_modules/kind-of/index.js", "./node_modules/has/src/index.js", "./node_modules/he/he.js", "./node_modules/hosted-git-info/git-host-info.js", @@ -2231,6 +2740,7 @@ "./node_modules/iconv-lite/encodings/utf7.js", "./node_modules/iconv-lite/lib/bom-handling.js", "./node_modules/iconv-lite/lib/extend-node.js", + "./node_modules/iferr/index.js", "./node_modules/image-q/dist/iq.js", "./node_modules/image-size/dist/detector.js", "./node_modules/image-size/dist/readUInt.js", @@ -2251,43 +2761,56 @@ "./node_modules/image-size/dist/types/svg.js", "./node_modules/image-size/dist/types/tiff.js", "./node_modules/image-size/dist/types/webp.js", + "./node_modules/imurmurhash/imurmurhash.js", + "./node_modules/infer-owner/index.js", "./node_modules/inflight/inflight.js", "./node_modules/inherits/inherits.js", "./node_modules/inherits/inherits_browser.js", "./node_modules/ini/ini.js", "./node_modules/ip-regex/index.js", "./node_modules/ipaddr.js/lib/ipaddr.js", + "./node_modules/is-accessor-descriptor/index.js", "./node_modules/is-arrayish/index.js", "./node_modules/is-binary-path/index.js", "./node_modules/is-buffer/index.js", "./node_modules/is-ci/index.js", "./node_modules/is-core-module/core.json", "./node_modules/is-core-module/index.js", + "./node_modules/is-data-descriptor/index.js", + "./node_modules/is-descriptor/index.js", "./node_modules/is-dotfile/index.js", + "./node_modules/is-extendable/index.js", "./node_modules/is-extglob/index.js", "./node_modules/is-fork-pr/src/index.js", "./node_modules/is-fullwidth-code-point/index.js", "./node_modules/is-glob/index.js", "./node_modules/is-html/index.js", + "./node_modules/is-number/index.js", + "./node_modules/is-number/node_modules/kind-of/index.js", "./node_modules/is-obj/index.js", "./node_modules/is-path-inside/index.js", "./node_modules/is-plain-obj/index.js", + "./node_modules/is-plain-object/index.js", "./node_modules/is-regexp/index.js", "./node_modules/is-stream/index.js", "./node_modules/is-typedarray/index.js", "./node_modules/is-url/index.js", + "./node_modules/is-windows/index.js", "./node_modules/is2/index.js", "./node_modules/is2/package.json", "./node_modules/isarray/index.js", "./node_modules/isbinaryfile/lib/index.js", "./node_modules/isexe/mode.js", "./node_modules/isexe/windows.js", + "./node_modules/isobject/index.js", "./node_modules/isstream/isstream.js", "./node_modules/iterall/index.js", "./node_modules/jetpack-id/index.js", "./node_modules/js-tokens/index.js", "./node_modules/jsesc/jsesc.js", "./node_modules/json-buffer/index.js", + "./node_modules/json-parse-better-errors/index.js", + "./node_modules/json-schema-traverse/index.js", "./node_modules/json-schema/lib/validate.js", "./node_modules/json-stringify-safe/stringify.js", "./node_modules/json5/lib/index.js", @@ -2298,6 +2821,7 @@ "./node_modules/jsonlint/lib/jsonlint.js", "./node_modules/jsprim/lib/jsprim.js", "./node_modules/junk/index.js", + "./node_modules/kind-of/index.js", "./node_modules/launch-editor/editor-info/linux.js", "./node_modules/launch-editor/editor-info/osx.js", "./node_modules/launch-editor/editor-info/windows.js", @@ -2308,6 +2832,10 @@ "./node_modules/load-bmfont/index.js", "./node_modules/load-bmfont/lib/is-binary.js", "./node_modules/load-bmfont/node_modules/buffer-equal/index.js", + "./node_modules/loader-runner/lib/LoaderLoadingError.js", + "./node_modules/loader-runner/lib/LoaderRunner.js", + "./node_modules/loader-runner/lib/loadLoader.js", + "./node_modules/locate-path/index.js", "./node_modules/lodash._baseassign/index.js", "./node_modules/lodash._basecopy/index.js", "./node_modules/lodash._basecreate/index.js", @@ -2496,12 +3024,31 @@ "./node_modules/lodash/toInteger.js", "./node_modules/lodash/toNumber.js", "./node_modules/lodash/toString.js", + "./node_modules/lru-cache/index.js", + "./node_modules/lru-cache/node_modules/yallist/iterator.js", + "./node_modules/lru-cache/node_modules/yallist/yallist.js", "./node_modules/make-error/index.js", + "./node_modules/map-cache/index.js", + "./node_modules/map-visit/index.js", "./node_modules/marionette-client/lib/marionette/message.js", "./node_modules/matcher/index.js", "./node_modules/matcher/node_modules/escape-string-regexp/index.js", "./node_modules/md5/md5.js", "./node_modules/media-typer/index.js", + "./node_modules/memfs/lib/Dirent.js", + "./node_modules/memfs/lib/Stats.js", + "./node_modules/memfs/lib/constants.js", + "./node_modules/memfs/lib/encoding.js", + "./node_modules/memfs/lib/getBigInt.js", + "./node_modules/memfs/lib/internal/buffer.js", + "./node_modules/memfs/lib/internal/errors.js", + "./node_modules/memfs/lib/node.js", + "./node_modules/memfs/lib/promises.js", + "./node_modules/memfs/lib/setImmediate.js", + "./node_modules/memfs/lib/setTimeoutUnref.js", + "./node_modules/memory-fs/lib/MemoryFileSystem.js", + "./node_modules/memory-fs/lib/join.js", + "./node_modules/memory-fs/lib/normalize.js", "./node_modules/merge-descriptors/index.js", "./node_modules/merge-stream/index.js", "./node_modules/merge2/index.js", @@ -2513,6 +3060,9 @@ "./node_modules/mimic-response/index.js", "./node_modules/min-indent/index.js", "./node_modules/minimist/index.js", + "./node_modules/mississippi/index.js", + "./node_modules/mixin-deep/index.js", + "./node_modules/mixin-deep/node_modules/is-extendable/index.js", "./node_modules/mkdirp/index.js", "./node_modules/mocha-7.0.1/lib/browser/progress.js", "./node_modules/mocha-7.0.1/lib/context.js", @@ -2593,9 +3143,21 @@ "./node_modules/mount-point/index.js", "./node_modules/mount-point/node_modules/@sindresorhus/df/index.js", "./node_modules/mount-point/node_modules/pify/index.js", + "./node_modules/move-concurrently/move.js", + "./node_modules/move-concurrently/node_modules/aproba/index.js", + "./node_modules/move-concurrently/node_modules/glob/common.js", + "./node_modules/move-concurrently/node_modules/rimraf/rimraf.js", "./node_modules/move-file/index.js", "./node_modules/move-file/node_modules/make-dir/index.js", "./node_modules/ms/index.js", + "./node_modules/nanomatch/index.js", + "./node_modules/nanomatch/lib/cache.js", + "./node_modules/nanomatch/lib/compilers.js", + "./node_modules/nanomatch/lib/parsers.js", + "./node_modules/nanomatch/lib/utils.js", + "./node_modules/nanomatch/node_modules/define-property/index.js", + "./node_modules/nanomatch/node_modules/extend-shallow/index.js", + "./node_modules/nanomatch/node_modules/is-extendable/index.js", "./node_modules/negotiator/index.js", "./node_modules/negotiator/lib/charset.js", "./node_modules/negotiator/lib/encoding.js", @@ -2665,9 +3227,13 @@ "./node_modules/npm-run-path/index.js", "./node_modules/npm-run-path/node_modules/path-key/index.js", "./node_modules/object-assign/index.js", + "./node_modules/object-copy/index.js", + "./node_modules/object-copy/node_modules/kind-of/index.js", "./node_modules/object-keys/implementation.js", "./node_modules/object-keys/index.js", "./node_modules/object-keys/isArguments.js", + "./node_modules/object-visit/index.js", + "./node_modules/object.pick/index.js", "./node_modules/omggif/omggif.js", "./node_modules/on-finished/index.js", "./node_modules/on-headers/index.js", @@ -2678,6 +3244,8 @@ "./node_modules/ospath/index.js", "./node_modules/p-defer/index.js", "./node_modules/p-finally/index.js", + "./node_modules/p-limit/index.js", + "./node_modules/p-locate/index.js", "./node_modules/p-map/index.js", "./node_modules/p-queue/dist/index.js", "./node_modules/p-queue/dist/lower-bound.js", @@ -2708,6 +3276,8 @@ "./node_modules/parse-glob/node_modules/is-extglob/index.js", "./node_modules/parse-glob/node_modules/is-glob/index.js", "./node_modules/parseurl/index.js", + "./node_modules/pascalcase/index.js", + "./node_modules/path-dirname/index.js", "./node_modules/path-exists/index.js", "./node_modules/path-is-absolute/index.js", "./node_modules/path-is-inside/lib/path-is-inside.js", @@ -2730,6 +3300,7 @@ "./node_modules/pify/index.js", "./node_modules/pinkie-promise/index.js", "./node_modules/pixelmatch/index.js", + "./node_modules/pkg-dir/index.js", "./node_modules/plist/index.js", "./node_modules/plist/lib/build.js", "./node_modules/plist/lib/parse.js", @@ -2752,6 +3323,8 @@ "./node_modules/pngjs/lib/parser.js", "./node_modules/pngjs/lib/png-sync.js", "./node_modules/pngjs/lib/sync-reader.js", + "./node_modules/pnp-webpack-plugin/resolver.js", + "./node_modules/posix-character-classes/index.js", "./node_modules/prepend-http/index.js", "./node_modules/prettier/doc.js", "./node_modules/prettier/package.json", @@ -2763,9 +3336,11 @@ "./node_modules/prettier/parser-yaml.js", "./node_modules/progress/index.js", "./node_modules/progress/lib/node-progress.js", + "./node_modules/promise-inflight/inflight.js", "./node_modules/proto-list/proto-list.js", "./node_modules/proxy-addr/index.js", "./node_modules/proxy-from-env/index.js", + "./node_modules/prr/prr.js", "./node_modules/pseudomap/pseudomap.js", "./node_modules/psl/data/rules.json", "./node_modules/psl/index.js", @@ -3180,11 +3755,37 @@ "./node_modules/react-docgen/node_modules/doctrine/lib/utility.js", "./node_modules/react-docgen/node_modules/doctrine/package.json", "./node_modules/readable-stream/lib/internal/streams/destroy.js", + "./node_modules/readdirp/node_modules/braces/index.js", + "./node_modules/readdirp/node_modules/braces/lib/braces.js", + "./node_modules/readdirp/node_modules/braces/lib/compilers.js", + "./node_modules/readdirp/node_modules/braces/lib/parsers.js", + "./node_modules/readdirp/node_modules/braces/lib/utils.js", + "./node_modules/readdirp/node_modules/braces/node_modules/extend-shallow/index.js", + "./node_modules/readdirp/node_modules/braces/node_modules/is-extendable/index.js", + "./node_modules/readdirp/node_modules/define-property/index.js", + "./node_modules/readdirp/node_modules/extend-shallow/index.js", + "./node_modules/readdirp/node_modules/fill-range/index.js", + "./node_modules/readdirp/node_modules/fill-range/node_modules/extend-shallow/index.js", + "./node_modules/readdirp/node_modules/fill-range/node_modules/is-extendable/index.js", + "./node_modules/readdirp/node_modules/is-extendable/index.js", + "./node_modules/readdirp/node_modules/micromatch/index.js", + "./node_modules/readdirp/node_modules/micromatch/lib/cache.js", + "./node_modules/readdirp/node_modules/micromatch/lib/compilers.js", + "./node_modules/readdirp/node_modules/micromatch/lib/parsers.js", + "./node_modules/readdirp/node_modules/micromatch/lib/utils.js", + "./node_modules/readdirp/node_modules/to-regex-range/index.js", + "./node_modules/readdirp/readdirp.js", "./node_modules/recast/parsers/_babel_options.js", "./node_modules/recast/parsers/babel.js", "./node_modules/recast/parsers/esprima.js", "./node_modules/recast/parsers/typescript.js", "./node_modules/regenerator-runtime/runtime.js", + "./node_modules/regex-not/index.js", + "./node_modules/regex-not/node_modules/extend-shallow/index.js", + "./node_modules/regex-not/node_modules/is-extendable/index.js", + "./node_modules/remove-trailing-separator/index.js", + "./node_modules/repeat-element/index.js", + "./node_modules/repeat-string/index.js", "./node_modules/request-promise-core/configure/request2.js", "./node_modules/request-promise-core/errors.js", "./node_modules/request-promise-core/lib/errors.js", @@ -3221,7 +3822,16 @@ "./node_modules/run-applescript/node_modules/get-stream/index.js", "./node_modules/run-applescript/node_modules/path-key/index.js", "./node_modules/run-parallel/index.js", + "./node_modules/run-queue/node_modules/aproba/index.js", + "./node_modules/run-queue/queue.js", + "./node_modules/safe-regex/index.js", + "./node_modules/safe-regex/node_modules/ret/lib/index.js", + "./node_modules/safe-regex/node_modules/ret/lib/positions.js", + "./node_modules/safe-regex/node_modules/ret/lib/sets.js", + "./node_modules/safe-regex/node_modules/ret/lib/types.js", + "./node_modules/safe-regex/node_modules/ret/lib/util.js", "./node_modules/sanitize-filename/index.js", + "./node_modules/schema-utils/src/ValidationError.js", "./node_modules/semver-compare/index.js", "./node_modules/semver/classes/comparator.js", "./node_modules/semver/classes/range.js", @@ -3271,6 +3881,7 @@ "./node_modules/serialize-error/index.js", "./node_modules/serve-static/index.js", "./node_modules/server-destroy/index.js", + "./node_modules/set-value/index.js", "./node_modules/setprototypeof/index.js", "./node_modules/shebang-command/index.js", "./node_modules/shebang-regex/index.js", @@ -3290,8 +3901,43 @@ "./node_modules/signal-exit/index.js", "./node_modules/simple-swizzle/index.js", "./node_modules/simple-swizzle/node_modules/is-arrayish/index.js", + "./node_modules/snapdragon-node/index.js", + "./node_modules/snapdragon-node/node_modules/define-property/index.js", + "./node_modules/snapdragon-util/index.js", + "./node_modules/snapdragon-util/node_modules/kind-of/index.js", + "./node_modules/snapdragon/lib/compiler.js", + "./node_modules/snapdragon/lib/parser.js", + "./node_modules/snapdragon/lib/position.js", + "./node_modules/snapdragon/lib/source-maps.js", + "./node_modules/snapdragon/lib/utils.js", + "./node_modules/snapdragon/node_modules/debug/src/debug.js", + "./node_modules/snapdragon/node_modules/ms/index.js", + "./node_modules/snapdragon/node_modules/source-map/lib/array-set.js", + "./node_modules/snapdragon/node_modules/source-map/lib/base64-vlq.js", + "./node_modules/snapdragon/node_modules/source-map/lib/base64.js", + "./node_modules/snapdragon/node_modules/source-map/lib/binary-search.js", + "./node_modules/snapdragon/node_modules/source-map/lib/mapping-list.js", + "./node_modules/snapdragon/node_modules/source-map/lib/quick-sort.js", + "./node_modules/snapdragon/node_modules/source-map/lib/source-map-consumer.js", + "./node_modules/snapdragon/node_modules/source-map/lib/source-map-generator.js", + "./node_modules/snapdragon/node_modules/source-map/lib/source-node.js", + "./node_modules/snapdragon/node_modules/source-map/lib/util.js", + "./node_modules/snapdragon/node_modules/source-map/source-map.js", "./node_modules/sort-keys-length/index.js", "./node_modules/sort-keys-length/node_modules/sort-keys/index.js", + "./node_modules/source-list-map/lib/CodeNode.js", + "./node_modules/source-list-map/lib/MappingsContext.js", + "./node_modules/source-list-map/lib/SingleLineNode.js", + "./node_modules/source-list-map/lib/SourceListMap.js", + "./node_modules/source-list-map/lib/SourceNode.js", + "./node_modules/source-list-map/lib/base64-vlq.js", + "./node_modules/source-list-map/lib/fromStringWithSourceMap.js", + "./node_modules/source-list-map/lib/helpers.js", + "./node_modules/source-list-map/lib/index.js", + "./node_modules/source-map-resolve/lib/decode-uri-component.js", + "./node_modules/source-map-resolve/lib/resolve-url.js", + "./node_modules/source-map-resolve/lib/source-map-resolve-node.js", + "./node_modules/source-map-url/source-map-url.js", "./node_modules/source-map/lib/array-set.js", "./node_modules/source-map/lib/base64-vlq.js", "./node_modules/source-map/lib/base64.js", @@ -3310,12 +3956,17 @@ "./node_modules/spdx-expression-parse/scan.js", "./node_modules/spdx-license-ids/deprecated.json", "./node_modules/spdx-license-ids/index.json", + "./node_modules/split-string/index.js", + "./node_modules/split-string/node_modules/extend-shallow/index.js", + "./node_modules/split-string/node_modules/is-extendable/index.js", "./node_modules/squirrelly/dist/squirrelly.min.js", "./node_modules/sshpk/lib/ssh-buffer.js", "./node_modules/ssl-root-cas/ssl-root-cas.js", + "./node_modules/static-extend/index.js", "./node_modules/statuses/codes.json", "./node_modules/statuses/index.js", "./node_modules/stealthy-require/lib/index.js", + "./node_modules/stream-each/index.js", "./node_modules/stream-parser/index.js", "./node_modules/stream-parser/node_modules/debug/src/debug.js", "./node_modules/stream-parser/node_modules/ms/index.js", @@ -3329,6 +3980,7 @@ "./node_modules/strip-eof/index.js", "./node_modules/strip-final-newline/index.js", "./node_modules/strip-indent/index.js", + "./node_modules/strip-json-comments/index.js", "./node_modules/strip-outer/index.js", "./node_modules/sumchecker/index.js", "./node_modules/supports-color/node_modules/has-flag/index.js", @@ -3352,6 +4004,20 @@ "./node_modules/systeminformation/lib/virtualbox.js", "./node_modules/systeminformation/lib/wifi.js", "./node_modules/systeminformation/package.json", + "./node_modules/tapable/lib/AsyncParallelBailHook.js", + "./node_modules/tapable/lib/AsyncParallelHook.js", + "./node_modules/tapable/lib/AsyncSeriesBailHook.js", + "./node_modules/tapable/lib/AsyncSeriesHook.js", + "./node_modules/tapable/lib/AsyncSeriesWaterfallHook.js", + "./node_modules/tapable/lib/Hook.js", + "./node_modules/tapable/lib/HookCodeFactory.js", + "./node_modules/tapable/lib/HookMap.js", + "./node_modules/tapable/lib/MultiHook.js", + "./node_modules/tapable/lib/SyncBailHook.js", + "./node_modules/tapable/lib/SyncHook.js", + "./node_modules/tapable/lib/SyncLoopHook.js", + "./node_modules/tapable/lib/SyncWaterfallHook.js", + "./node_modules/tapable/lib/index.js", "./node_modules/tar-stream/headers.js", "./node_modules/tar-stream/index.js", "./node_modules/tar-stream/node_modules/readable-stream/lib/internal/streams/async_iterator.js", @@ -3364,14 +4030,36 @@ "./node_modules/tcp-port-used/node_modules/debug/src/common.js", "./node_modules/tcp-port-used/node_modules/ms/index.js", "./node_modules/term-size/index.js", + "./node_modules/terser-webpack-plugin/dist/minify.js", + "./node_modules/terser-webpack-plugin/dist/options.json", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/path.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/content/rm.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/memoization.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/hash-to-segments.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/move-file.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/tmp.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/lib/util/y.js", + "./node_modules/terser-webpack-plugin/node_modules/cacache/package.json", + "./node_modules/terser-webpack-plugin/node_modules/cacache/rm.js", + "./node_modules/terser-webpack-plugin/node_modules/glob/common.js", + "./node_modules/terser-webpack-plugin/node_modules/rimraf/rimraf.js", + "./node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js", + "./node_modules/terser-webpack-plugin/node_modules/terser/package.json", + "./node_modules/terser-webpack-plugin/package.json", "./node_modules/textextensions/edition-es5/index.js", "./node_modules/through/index.js", "./node_modules/timm/lib/timm.js", "./node_modules/tinycolor2/tinycolor.js", "./node_modules/to-fast-properties/index.js", + "./node_modules/to-object-path/index.js", + "./node_modules/to-object-path/node_modules/kind-of/index.js", "./node_modules/to-readable-stream/index.js", "./node_modules/to-regex-range/index.js", "./node_modules/to-regex-range/node_modules/is-number/index.js", + "./node_modules/to-regex/index.js", + "./node_modules/to-regex/node_modules/define-property/index.js", + "./node_modules/to-regex/node_modules/extend-shallow/index.js", + "./node_modules/to-regex/node_modules/is-extendable/index.js", "./node_modules/toidentifier/index.js", "./node_modules/tough-cookie/lib/pathMatch.js", "./node_modules/tough-cookie/lib/permuteDomain.js", @@ -3428,6 +4116,28 @@ "./node_modules/ts-node/node_modules/diff/lib/util/distance-iterator.js", "./node_modules/ts-node/node_modules/diff/lib/util/params.js", "./node_modules/ts-node/package.json", + "./node_modules/tsconfig-package/dist/tsconfig.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/index.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/options.js", + "./node_modules/tsconfig-paths-webpack-plugin/lib/plugin.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk/source/templates.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk/source/util.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/enhanced-resolve/lib/createInnerContext.js", + "./node_modules/tsconfig-paths-webpack-plugin/node_modules/enhanced-resolve/lib/getInnerRequest.js", + "./node_modules/tsconfig-paths/lib/config-loader.js", + "./node_modules/tsconfig-paths/lib/filesystem.js", + "./node_modules/tsconfig-paths/lib/index.js", + "./node_modules/tsconfig-paths/lib/mapping-entry.js", + "./node_modules/tsconfig-paths/lib/match-path-async.js", + "./node_modules/tsconfig-paths/lib/match-path-sync.js", + "./node_modules/tsconfig-paths/lib/register.js", + "./node_modules/tsconfig-paths/lib/try-path.js", + "./node_modules/tsconfig-paths/lib/tsconfig-loader.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/index.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/parse.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/stringify.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/unicode.js", + "./node_modules/tsconfig-paths/node_modules/json5/lib/util.js", "./node_modules/tslib/tslib.js", "./node_modules/type-is/index.js", "./node_modules/typedarray/index.js", @@ -3498,12 +4208,22 @@ "./node_modules/underscore.string/unquote.js", "./node_modules/underscore.string/words.js", "./node_modules/underscore.string/wrap.js", + "./node_modules/union-value/index.js", + "./node_modules/unique-filename/index.js", + "./node_modules/unique-slug/index.js", "./node_modules/universalify/index.js", "./node_modules/unpipe/index.js", + "./node_modules/unset-value/index.js", + "./node_modules/unset-value/node_modules/has-value/index.js", + "./node_modules/unset-value/node_modules/has-value/node_modules/isobject/index.js", + "./node_modules/unset-value/node_modules/has-values/index.js", "./node_modules/unused-filename/index.js", "./node_modules/unused-filename/node_modules/path-exists/index.js", + "./node_modules/uri-js/dist/es5/uri.all.js", + "./node_modules/urix/index.js", "./node_modules/url-parse-lax/index.js", "./node_modules/url-parse/index.js", + "./node_modules/use/index.js", "./node_modules/utf8-stream/index.js", "./node_modules/utf8-stream/node_modules/isarray/index.js", "./node_modules/utils-merge/index.js", @@ -3517,9 +4237,290 @@ "./node_modules/value-or-promise/build/main/ValueOrPromise.js", "./node_modules/value-or-promise/build/main/index.js", "./node_modules/vary/index.js", + "./node_modules/watchpack-chokidar2/node_modules/anymatch/index.js", + "./node_modules/watchpack-chokidar2/node_modules/anymatch/node_modules/normalize-path/index.js", + "./node_modules/watchpack-chokidar2/node_modules/binary-extensions/binary-extensions.json", + "./node_modules/watchpack-chokidar2/node_modules/braces/index.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/braces.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/compilers.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/parsers.js", + "./node_modules/watchpack-chokidar2/node_modules/braces/lib/utils.js", + "./node_modules/watchpack-chokidar2/node_modules/chokidar/lib/nodefs-handler.js", + "./node_modules/watchpack-chokidar2/node_modules/define-property/index.js", + "./node_modules/watchpack-chokidar2/node_modules/fill-range/index.js", + "./node_modules/watchpack-chokidar2/node_modules/glob-parent/node_modules/is-glob/index.js", + "./node_modules/watchpack-chokidar2/node_modules/is-binary-path/index.js", + "./node_modules/watchpack-chokidar2/node_modules/is-extendable/index.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/index.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/cache.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/compilers.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/parsers.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/lib/utils.js", + "./node_modules/watchpack-chokidar2/node_modules/micromatch/node_modules/extend-shallow/index.js", + "./node_modules/watchpack-chokidar2/node_modules/to-regex-range/index.js", + "./node_modules/watchpack/lib/watcherManager.js", + "./node_modules/webpack-sources/lib/CachedSource.js", + "./node_modules/webpack-sources/lib/ConcatSource.js", + "./node_modules/webpack-sources/lib/LineToLineMappedSource.js", + "./node_modules/webpack-sources/lib/OriginalSource.js", + "./node_modules/webpack-sources/lib/PrefixSource.js", + "./node_modules/webpack-sources/lib/RawSource.js", + "./node_modules/webpack-sources/lib/ReplaceSource.js", + "./node_modules/webpack-sources/lib/Source.js", + "./node_modules/webpack-sources/lib/SourceAndMapMixin.js", + "./node_modules/webpack-sources/lib/SourceMapSource.js", + "./node_modules/webpack-sources/lib/applySourceMap.js", + "./node_modules/webpack-sources/lib/index.js", + "./node_modules/webpack/lib/APIPlugin.js", + "./node_modules/webpack/lib/AmdMainTemplatePlugin.js", + "./node_modules/webpack/lib/AsyncDependenciesBlock.js", + "./node_modules/webpack/lib/AutomaticPrefetchPlugin.js", + "./node_modules/webpack/lib/BannerPlugin.js", + "./node_modules/webpack/lib/BasicEvaluatedExpression.js", + "./node_modules/webpack/lib/CachePlugin.js", + "./node_modules/webpack/lib/ChunkGroup.js", + "./node_modules/webpack/lib/CommonJsStuffPlugin.js", + "./node_modules/webpack/lib/CompatibilityPlugin.js", + "./node_modules/webpack/lib/ConstPlugin.js", + "./node_modules/webpack/lib/ContextExclusionPlugin.js", + "./node_modules/webpack/lib/ContextReplacementPlugin.js", + "./node_modules/webpack/lib/DefinePlugin.js", + "./node_modules/webpack/lib/DelegatedModuleFactoryPlugin.js", + "./node_modules/webpack/lib/DependenciesBlock.js", + "./node_modules/webpack/lib/DependenciesBlockVariable.js", + "./node_modules/webpack/lib/DllEntryPlugin.js", + "./node_modules/webpack/lib/DllPlugin.js", + "./node_modules/webpack/lib/DynamicEntryPlugin.js", + "./node_modules/webpack/lib/EntryOptionPlugin.js", + "./node_modules/webpack/lib/Entrypoint.js", + "./node_modules/webpack/lib/EnvironmentPlugin.js", + "./node_modules/webpack/lib/ErrorHelpers.js", + "./node_modules/webpack/lib/EvalDevToolModulePlugin.js", + "./node_modules/webpack/lib/EvalDevToolModuleTemplatePlugin.js", + "./node_modules/webpack/lib/EvalSourceMapDevToolModuleTemplatePlugin.js", + "./node_modules/webpack/lib/EvalSourceMapDevToolPlugin.js", + "./node_modules/webpack/lib/ExportPropertyMainTemplatePlugin.js", + "./node_modules/webpack/lib/ExtendedAPIPlugin.js", + "./node_modules/webpack/lib/ExternalModuleFactoryPlugin.js", + "./node_modules/webpack/lib/ExternalsPlugin.js", + "./node_modules/webpack/lib/FlagAllModulesAsUsedPlugin.js", + "./node_modules/webpack/lib/FlagDependencyExportsPlugin.js", + "./node_modules/webpack/lib/FlagDependencyUsagePlugin.js", + "./node_modules/webpack/lib/FunctionModulePlugin.js", + "./node_modules/webpack/lib/FunctionModuleTemplatePlugin.js", + "./node_modules/webpack/lib/Generator.js", + "./node_modules/webpack/lib/GraphHelpers.js", + "./node_modules/webpack/lib/HashedModuleIdsPlugin.js", + "./node_modules/webpack/lib/HotModuleReplacement.runtime.js", + "./node_modules/webpack/lib/HotModuleReplacementPlugin.js", + "./node_modules/webpack/lib/IgnorePlugin.js", + "./node_modules/webpack/lib/JavascriptGenerator.js", + "./node_modules/webpack/lib/JavascriptModulesPlugin.js", + "./node_modules/webpack/lib/JsonGenerator.js", + "./node_modules/webpack/lib/JsonModulesPlugin.js", + "./node_modules/webpack/lib/JsonParser.js", + "./node_modules/webpack/lib/LibManifestPlugin.js", + "./node_modules/webpack/lib/LibraryTemplatePlugin.js", + "./node_modules/webpack/lib/LoaderOptionsPlugin.js", + "./node_modules/webpack/lib/LoaderTargetPlugin.js", + "./node_modules/webpack/lib/MemoryOutputFileSystem.js", + "./node_modules/webpack/lib/ModuleFilenameHelpers.js", + "./node_modules/webpack/lib/ModuleReason.js", + "./node_modules/webpack/lib/MultiEntryPlugin.js", + "./node_modules/webpack/lib/MultiStats.js", + "./node_modules/webpack/lib/MultiWatching.js", + "./node_modules/webpack/lib/NamedChunksPlugin.js", + "./node_modules/webpack/lib/NamedModulesPlugin.js", + "./node_modules/webpack/lib/NoEmitOnErrorsPlugin.js", + "./node_modules/webpack/lib/NodeStuffPlugin.js", + "./node_modules/webpack/lib/NormalModuleReplacementPlugin.js", + "./node_modules/webpack/lib/NullFactory.js", + "./node_modules/webpack/lib/OptionsApply.js", + "./node_modules/webpack/lib/OptionsDefaulter.js", + "./node_modules/webpack/lib/ParserHelpers.js", + "./node_modules/webpack/lib/PrefetchPlugin.js", + "./node_modules/webpack/lib/ProgressPlugin.js", + "./node_modules/webpack/lib/ProvidePlugin.js", + "./node_modules/webpack/lib/RecordIdsPlugin.js", + "./node_modules/webpack/lib/RequestShortener.js", + "./node_modules/webpack/lib/RequireJsStuffPlugin.js", + "./node_modules/webpack/lib/RuleSet.js", + "./node_modules/webpack/lib/RuntimeTemplate.js", + "./node_modules/webpack/lib/SetVarMainTemplatePlugin.js", + "./node_modules/webpack/lib/SingleEntryPlugin.js", + "./node_modules/webpack/lib/SizeFormatHelpers.js", + "./node_modules/webpack/lib/SourceMapDevToolModuleOptionsPlugin.js", + "./node_modules/webpack/lib/SourceMapDevToolPlugin.js", + "./node_modules/webpack/lib/Stats.js", + "./node_modules/webpack/lib/SystemMainTemplatePlugin.js", + "./node_modules/webpack/lib/Template.js", + "./node_modules/webpack/lib/TemplatedPathPlugin.js", + "./node_modules/webpack/lib/UmdMainTemplatePlugin.js", + "./node_modules/webpack/lib/UseStrictPlugin.js", + "./node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js", + "./node_modules/webpack/lib/WarnNoModeSetPlugin.js", + "./node_modules/webpack/lib/WatchIgnorePlugin.js", + "./node_modules/webpack/lib/Watching.js", + "./node_modules/webpack/lib/WebpackOptionsApply.js", + "./node_modules/webpack/lib/WebpackOptionsDefaulter.js", + "./node_modules/webpack/lib/buildChunkGraph.js", + "./node_modules/webpack/lib/compareLocations.js", + "./node_modules/webpack/lib/dependencies/AMDDefineDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/AMDPlugin.js", + "./node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlock.js", + "./node_modules/webpack/lib/dependencies/AMDRequireDependenciesBlockParserPlugin.js", + "./node_modules/webpack/lib/dependencies/CommonJsPlugin.js", + "./node_modules/webpack/lib/dependencies/CommonJsRequireDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/ContextDependencyHelpers.js", + "./node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsId.js", + "./node_modules/webpack/lib/dependencies/ContextDependencyTemplateAsRequireCall.js", + "./node_modules/webpack/lib/dependencies/DependencyReference.js", + "./node_modules/webpack/lib/dependencies/HarmonyDetectionParserPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyExportDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyImportDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyModulesPlugin.js", + "./node_modules/webpack/lib/dependencies/HarmonyTopLevelThisParserPlugin.js", + "./node_modules/webpack/lib/dependencies/ImportDependenciesBlock.js", + "./node_modules/webpack/lib/dependencies/ImportParserPlugin.js", + "./node_modules/webpack/lib/dependencies/ImportPlugin.js", + "./node_modules/webpack/lib/dependencies/LoaderPlugin.js", + "./node_modules/webpack/lib/dependencies/LocalModule.js", + "./node_modules/webpack/lib/dependencies/LocalModulesHelpers.js", + "./node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsId.js", + "./node_modules/webpack/lib/dependencies/ModuleDependencyTemplateAsRequireId.js", + "./node_modules/webpack/lib/dependencies/RequireContextDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireContextPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlock.js", + "./node_modules/webpack/lib/dependencies/RequireEnsureDependenciesBlockParserPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireEnsurePlugin.js", + "./node_modules/webpack/lib/dependencies/RequireIncludeDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/RequireIncludePlugin.js", + "./node_modules/webpack/lib/dependencies/RequireResolveDependencyParserPlugin.js", + "./node_modules/webpack/lib/dependencies/WebpackMissingModule.js", + "./node_modules/webpack/lib/dependencies/getFunctionExpression.js", + "./node_modules/webpack/lib/formatLocation.js", + "./node_modules/webpack/lib/logging/Logger.js", + "./node_modules/webpack/lib/logging/createConsoleLogger.js", + "./node_modules/webpack/lib/logging/truncateArgs.js", + "./node_modules/webpack/lib/node/NodeChunkTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeEnvironmentPlugin.js", + "./node_modules/webpack/lib/node/NodeHotUpdateChunkTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeMainTemplate.runtime.js", + "./node_modules/webpack/lib/node/NodeMainTemplateAsync.runtime.js", + "./node_modules/webpack/lib/node/NodeMainTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeOutputFileSystem.js", + "./node_modules/webpack/lib/node/NodeSourcePlugin.js", + "./node_modules/webpack/lib/node/NodeTargetPlugin.js", + "./node_modules/webpack/lib/node/NodeTemplatePlugin.js", + "./node_modules/webpack/lib/node/NodeWatchFileSystem.js", + "./node_modules/webpack/lib/node/ReadFileCompileWasmTemplatePlugin.js", + "./node_modules/webpack/lib/optimize/AggressiveMergingPlugin.js", + "./node_modules/webpack/lib/optimize/AggressiveSplittingPlugin.js", + "./node_modules/webpack/lib/optimize/ChunkModuleIdRangePlugin.js", + "./node_modules/webpack/lib/optimize/EnsureChunkConditionsPlugin.js", + "./node_modules/webpack/lib/optimize/FlagIncludedChunksPlugin.js", + "./node_modules/webpack/lib/optimize/LimitChunkCountPlugin.js", + "./node_modules/webpack/lib/optimize/MergeDuplicateChunksPlugin.js", + "./node_modules/webpack/lib/optimize/MinChunkSizePlugin.js", + "./node_modules/webpack/lib/optimize/ModuleConcatenationPlugin.js", + "./node_modules/webpack/lib/optimize/NaturalChunkOrderPlugin.js", + "./node_modules/webpack/lib/optimize/OccurrenceChunkOrderPlugin.js", + "./node_modules/webpack/lib/optimize/OccurrenceModuleOrderPlugin.js", + "./node_modules/webpack/lib/optimize/OccurrenceOrderPlugin.js", + "./node_modules/webpack/lib/optimize/RemoveEmptyChunksPlugin.js", + "./node_modules/webpack/lib/optimize/RemoveParentModulesPlugin.js", + "./node_modules/webpack/lib/optimize/RuntimeChunkPlugin.js", + "./node_modules/webpack/lib/optimize/SideEffectsFlagPlugin.js", + "./node_modules/webpack/lib/optimize/SplitChunksPlugin.js", + "./node_modules/webpack/lib/performance/SizeLimitsPlugin.js", + "./node_modules/webpack/lib/util/LazyBucketSortedSet.js", + "./node_modules/webpack/lib/util/Queue.js", + "./node_modules/webpack/lib/util/Semaphore.js", + "./node_modules/webpack/lib/util/SetHelpers.js", + "./node_modules/webpack/lib/util/SortableSet.js", + "./node_modules/webpack/lib/util/cleverMerge.js", + "./node_modules/webpack/lib/util/createHash.js", + "./node_modules/webpack/lib/util/deterministicGrouping.js", + "./node_modules/webpack/lib/util/identifier.js", + "./node_modules/webpack/lib/util/objectToMap.js", + "./node_modules/webpack/lib/wasm/WasmFinalizeExportsPlugin.js", + "./node_modules/webpack/lib/wasm/WasmMainTemplatePlugin.js", + "./node_modules/webpack/lib/wasm/WebAssemblyGenerator.js", + "./node_modules/webpack/lib/wasm/WebAssemblyJavascriptGenerator.js", + "./node_modules/webpack/lib/wasm/WebAssemblyModulesPlugin.js", + "./node_modules/webpack/lib/wasm/WebAssemblyUtils.js", + "./node_modules/webpack/lib/web/FetchCompileWasmTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpChunkTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpExportMainTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpHotUpdateChunkTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpMainTemplate.runtime.js", + "./node_modules/webpack/lib/web/JsonpMainTemplatePlugin.js", + "./node_modules/webpack/lib/web/JsonpTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerChunkTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerHotUpdateChunkTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerMainTemplate.runtime.js", + "./node_modules/webpack/lib/webworker/WebWorkerMainTemplatePlugin.js", + "./node_modules/webpack/lib/webworker/WebWorkerTemplatePlugin.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/clone.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/node-helpers.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/node-path.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/nodes.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/signatures.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/traverse.js", + "./node_modules/webpack/node_modules/@webassemblyjs/ast/lib/utils.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/index.js", + "./node_modules/webpack/node_modules/@webassemblyjs/helper-wasm-bytecode/lib/section.js", + "./node_modules/webpack/node_modules/braces/index.js", + "./node_modules/webpack/node_modules/braces/lib/braces.js", + "./node_modules/webpack/node_modules/braces/lib/compilers.js", + "./node_modules/webpack/node_modules/braces/lib/parsers.js", + "./node_modules/webpack/node_modules/braces/lib/utils.js", + "./node_modules/webpack/node_modules/braces/node_modules/extend-shallow/index.js", + "./node_modules/webpack/node_modules/braces/node_modules/is-extendable/index.js", + "./node_modules/webpack/node_modules/define-property/index.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/definition.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/index.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/pattern-visitor.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/reference.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/referencer.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/scope-manager.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/scope.js", + "./node_modules/webpack/node_modules/eslint-scope/lib/variable.js", + "./node_modules/webpack/node_modules/eslint-scope/package.json", + "./node_modules/webpack/node_modules/extend-shallow/index.js", + "./node_modules/webpack/node_modules/fill-range/index.js", + "./node_modules/webpack/node_modules/fill-range/node_modules/extend-shallow/index.js", + "./node_modules/webpack/node_modules/fill-range/node_modules/is-extendable/index.js", + "./node_modules/webpack/node_modules/is-extendable/index.js", + "./node_modules/webpack/node_modules/micromatch/index.js", + "./node_modules/webpack/node_modules/micromatch/lib/cache.js", + "./node_modules/webpack/node_modules/micromatch/lib/compilers.js", + "./node_modules/webpack/node_modules/micromatch/lib/parsers.js", + "./node_modules/webpack/node_modules/micromatch/lib/utils.js", + "./node_modules/webpack/node_modules/to-regex-range/index.js", + "./node_modules/webpack/package.json", + "./node_modules/webpack/schemas/WebpackOptions.json", + "./node_modules/webpack/schemas/ajv.absolutePath.js", + "./node_modules/webpack/schemas/plugins/BannerPlugin.json", + "./node_modules/webpack/schemas/plugins/DllPlugin.json", + "./node_modules/webpack/schemas/plugins/DllReferencePlugin.json", + "./node_modules/webpack/schemas/plugins/HashedModuleIdsPlugin.json", + "./node_modules/webpack/schemas/plugins/IgnorePlugin.json", + "./node_modules/webpack/schemas/plugins/LoaderOptionsPlugin.json", + "./node_modules/webpack/schemas/plugins/ProgressPlugin.json", + "./node_modules/webpack/schemas/plugins/SourceMapDevToolPlugin.json", + "./node_modules/webpack/schemas/plugins/WatchIgnorePlugin.json", + "./node_modules/webpack/schemas/plugins/debug/ProfilingPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/AggressiveSplittingPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/LimitChunkCountPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/MinChunkSizePlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/OccurrenceOrderChunkIdsPlugin.json", + "./node_modules/webpack/schemas/plugins/optimize/OccurrenceOrderModuleIdsPlugin.json", "./node_modules/which/which.js", "./node_modules/widest-line/index.js", "./node_modules/wonka/dist/wonka.js", + "./node_modules/worker-farm/lib/index.js", "./node_modules/wrappy/wrappy.js", "./node_modules/xdg-trashdir/index.js", "./node_modules/xdg-trashdir/node_modules/pify/index.js", @@ -3586,10 +4587,13 @@ "./node_modules/xmlbuilder/lib/XMLWriterBase.js", "./node_modules/xmlbuilder/lib/index.js", "./node_modules/xtend/immutable.js", + "./node_modules/y18n/index.js", "./node_modules/yallist/iterator.js", "./node_modules/yallist/yallist.js", "./node_modules/yn/index.js", "./node_modules/yn/lenient.js", + "./npm/webpack-batteries-included-preprocessor/empty.js", + "./npm/webpack-preprocessor/dist/lib/typescript-overrides.js", "./package.json", "./packages/config/node_modules/@babel/traverse/lib/cache.js", "./packages/config/node_modules/@babel/traverse/lib/hub.js", @@ -4299,5 +5303,5 @@ "./tooling/v8-snapshot/cache/win32/snapshot-entry.js" ], "deferredHashFile": "yarn.lock", - "deferredHash": "123ca8b4798073e5237d48d0ec586f69b70fc39e94439e3b22068269e27638e3" -} \ No newline at end of file + "deferredHash": "27ff67d366fb28259e10e64727b179d765d0e5bc3f501bf446f8198689a7e584" +} diff --git a/yarn.lock b/yarn.lock index bc854447c3c6..9e9c554e439e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -903,7 +903,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.12.11", "@babel/generator@^7.15.4", "@babel/generator@^7.15.8", "@babel/generator@^7.17.9", "@babel/generator@^7.20.5", "@babel/generator@^7.5.0", "@babel/generator@^7.9.0": +"@babel/generator@^7.12.11", "@babel/generator@^7.15.4", "@babel/generator@^7.15.8", "@babel/generator@^7.20.5", "@babel/generator@^7.5.0", "@babel/generator@^7.9.0": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA== @@ -1156,7 +1156,7 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.6.tgz#043b9aa3c303c0722e5377fef9197f4cf1796549" integrity sha512-S/TSCcsRuCkmpUuoWijua0Snt+f3ewU/8spLo+4AXJCZfT0bVCzLD5MuOKdrx0mlAptbKzn5AdgEIIKXxXkz9Q== -"@babel/parser@^7", "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.13.0", "@babel/parser@^7.15.4", "@babel/parser@^7.15.8", "@babel/parser@^7.16.4", "@babel/parser@^7.16.5", "@babel/parser@^7.18.10", "@babel/parser@^7.20.5", "@babel/parser@^7.6.0", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0", "@babel/parser@^7.9.6": +"@babel/parser@^7", "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.15.4", "@babel/parser@^7.15.8", "@babel/parser@^7.16.4", "@babel/parser@^7.16.5", "@babel/parser@^7.18.10", "@babel/parser@^7.20.5", "@babel/parser@^7.6.0", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0", "@babel/parser@^7.9.6": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8" integrity sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA== @@ -2107,7 +2107,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.16.8", "@babel/traverse@^7.17.9", "@babel/traverse@^7.19.1", "@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0": +"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.16.8", "@babel/traverse@^7.19.1", "@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0": version "7.20.5" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133" integrity sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ== @@ -15513,7 +15513,7 @@ fs-mkdirp-stream@^1.0.0: graceful-fs "^4.1.11" through2 "^2.0.3" -fs-monkey@1.0.3: +fs-monkey@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3" integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== @@ -20510,12 +20510,12 @@ mem@^4.0.0: mimic-fn "^2.0.0" p-is-promise "^2.0.0" -memfs@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.1.tgz#b78092f466a0dce054d63d39275b24c71d3f1305" - integrity sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw== +memfs@3.4.12, memfs@^3.4.1: + version "3.4.12" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.12.tgz#d00f8ad8dab132dc277c659dc85bfd14b07d03bd" + integrity sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw== dependencies: - fs-monkey "1.0.3" + fs-monkey "^1.0.3" memory-fs@^0.4.1: version "0.4.1" @@ -30454,7 +30454,12 @@ webpack-sources@^3.2.3: resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack-virtual-modules@^0.4.3, webpack-virtual-modules@^0.4.4: +webpack-virtual-modules@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz#362f14738a56dae107937ab98ea7062e8bdd3b6c" + integrity sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw== + +webpack-virtual-modules@^0.4.3: version "0.4.4" resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.4.tgz#a19fcf371923c59c4712d63d7d194b1e4d8262cc" integrity sha512-h9atBP/bsZohWpHnr+2sic8Iecb60GxftXsWNLLLSqewgIsGzByd2gcIID4nXcG+3tNe4GQG3dLcff3kXupdRA== From 0acdd2c7904da7f4938627d808604d5bf2f97714 Mon Sep 17 00:00:00 2001 From: Emily Rohrbough Date: Mon, 13 Feb 2023 12:24:17 -0600 Subject: [PATCH 02/10] chore: remove zenhub from release process (#25701) Co-authored-by: Matt Schile --- .circleci/workflows.yml | 2 + .github/PULL_REQUEST_TEMPLATE.md | 1 - CONTRIBUTING.md | 7 ---- cli/CHANGELOG.md | 2 +- guides/release-process.md | 41 ++++++++----------- .../get-binary-release-data.js | 36 ++++++++-------- .../get-current-release-data.js | 7 +++- .../validate-binary-changelog.js | 20 +++++++-- 8 files changed, 56 insertions(+), 60 deletions(-) diff --git a/.circleci/workflows.yml b/.circleci/workflows.yml index 5627bc82e55f..4befcf670f57 100644 --- a/.circleci/workflows.yml +++ b/.circleci/workflows.yml @@ -1443,6 +1443,8 @@ jobs: - update_known_hosts - run: yarn test-npm-package-release-script - run: node ./scripts/semantic-commits/validate-binary-changelog.js + - store_artifacts: + path: /tmp/releaseData lint-types: <<: *defaults diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 99a767e520c4..ff1b1ac51f32 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -32,6 +32,5 @@ DO NOT DELETE the PR checklist. --> - [ ] Have tests been added/updated? -- [ ] Has the original issue (or this PR, if no issue exists) been tagged with a release in ZenHub? (user-facing changes only) - [ ] Has a PR for user-facing changes been opened in [`cypress-documentation`](https://github.com/cypress-io/cypress-documentation)? - [ ] Have API changes been updated in the [`type definitions`](https://github.com/cypress-io/cypress/blob/develop/cli/types/cypress.d.ts)? diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2be57763c274..9bdad1a4a574 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -476,8 +476,6 @@ We do not continuously deploy the Cypress binary, so `develop` contains all of t - `test` - Adding missing or correcting existing tests - For user-facing changes that will be released with the next Cypress version, be sure to add a changelog entry to the appropriate section in [`cli/CHANGELOG.md`](./cli/CHANGELOG.md). See [Writing the Cypress Changelog Guide](./guides/writing-the-cypress-changelog.md) for more details. - Fill out the [Pull Request Template](./.github/PULL_REQUEST_TEMPLATE.md) completely within the body of the PR. If you feel some areas are not relevant add `N/A` as opposed to deleting those sections. PRs will not be reviewed if this template is not filled in. -- If the PR is a user facing change and you're a Cypress team member that has logged into [ZenHub](https://www.zenhub.com/) and downloaded the [ZenHub for GitHub extension](https://www.zenhub.com/extension), set the release the PR is intended to ship in from the sidebar of the PR. Follow semantic versioning to select the intended release. This is used to generate the changelog for the release. If you don't tag a PR for release, it won't be mentioned in the changelog. - ![Select release for PR](https://user-images.githubusercontent.com/1271364/135139641-657015d6-2dca-42d4-a4fb-16478f61d63f.png) - Please check the "Allow edits from maintainers" checkbox when submitting your PR. This will make it easier for the maintainers to make minor adjustments, to help with tests or any other changes we may need. ![Allow edits from maintainers checkbox](https://user-images.githubusercontent.com/1271181/31393427-b3105d44-ada9-11e7-80f2-0dac51e3919e.png) - All Pull Requests require a minimum of **two** approvals. @@ -561,10 +559,6 @@ Below are guidelines to help during code review. If any of the following require - [ ] There is no irrelevant code to the issue being addressed. If there is, ask the contributor to break the work out into a separate PR. - [ ] Tests are testing the code's intended functionality in the best way possible. -#### Internal - -- [ ] The original issue has been tagged with a release in ZenHub. - ### Code Review of Dependency Updates Below are some guidelines Cypress uses when reviewing dependency updates. @@ -579,7 +573,6 @@ Below are some guidelines Cypress uses when reviewing dependency updates. - [ ] Code using the dependency has been updated to accommodate any breaking changes - [ ] The dependency still supports the version of Node that the package requires. -- [ ] The PR been tagged with a release in ZenHub. - [ ] Appropriate labels have been added to the PR (for example: label `type: breaking change` if it is a breaking change) ## Releases diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 79fb86832929..8511518c698f 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -30,7 +30,7 @@ _Released 02/14/2023 (PENDING)_ ## 12.5.1 -_Released 02/10/2023_ +_Released 02/02/2023_ **Bugfixes:** diff --git a/guides/release-process.md b/guides/release-process.md index 4b399977a717..20d05e3c7406 100644 --- a/guides/release-process.md +++ b/guides/release-process.md @@ -13,7 +13,6 @@ The `@cypress/`-namespaced NPM packages that live inside the [`/npm`](../npm) di - Ensure you have the following permissions set up: - An AWS account with permission to access and write to the AWS S3, i.e. the Cypress CDN. - Permissions for your npm account to publish the `cypress` package. - - Permissions to update releases in ZenHub. - [Set up](https://cypress-io.atlassian.net/wiki/spaces/INFRA/pages/1534853121/AWS+SSO+Cypress) an AWS SSO profile with the [Team-CypressApp-Prod](https://cypress-io.atlassian.net/wiki/spaces/INFRA/pages/1534853121/AWS+SSO+Cypress#Team-CypressApp-Prod) role. The release scripts assumes the name of your profile is `prod`. Make sure to open the "App Developer" expando for some necessary config values. Your AWS config file should end up looking like the following: @@ -27,19 +26,17 @@ The `@cypress/`-namespaced NPM packages that live inside the [`/npm`](../npm) di ``` - Set up the following environment variables: - - For the `release-automations` steps, you will need setup the following envs: + - For the `release-automations` step, you will need setup the following envs: - GitHub token - Found in 1Password. - - [ZenHub API token](https://app.zenhub.com/dashboard/tokens) to interact with Zenhub. Found in 1Password. - The `cypress-bot` GitHub app credentials. Found in 1Password. ```text GITHUB_TOKEN="..." - ZENHUB_API_TOKEN="..." GITHUB_APP_CYPRESS_INSTALLATION_ID= GITHUB_APP_ID= GITHUB_PRIVATE_KEY= ``` - - For purging the Cloudflare cache (part of the `move-binaries` step), you'll need `CF_ZONEID` and `CF_TOKEN` set. These can be found in 1Password. + - For purging the Cloudflare cache (needed for the `prepare-release-artifacts` script in step 6), you'll need `CF_ZONEID` and `CF_TOKEN` set. These can be found in 1Password. ```text CF_ZONEID="..." CF_TOKEN="..." @@ -78,13 +75,14 @@ In the following instructions, "X.Y.Z" is used to denote the [next version of Cy - [cypress-realworld-app](https://github.com/cypress-io/cypress-realworld-app) uses yarn and represents a typical consumer implementation. - Optionally, do more thorough tests, for example test the new version of Cypress against the Cypress Cloud repo. -2. Confirm that every issue labeled [stage: pending release](https://github.com/cypress-io/cypress/issues?q=label%3A%22stage%3A+pending+release%22+is%3Aclosed) has a ZenHub release set. **Tip:** there is a command in [`release-automations`](https://github.com/cypress-io/release-automations)'s `issues-in-release` tool to list and check such issues. Without a ZenHub release issues will not be included in the right changelog. Also ensure that every closed issue in any obsolete releases are moved to the appropriate release in ZehHub. For example, if the open releases are 9.5.5 and 9.6.0, the current release is 9.6.0, then all closed issues marked as 9.5.5 should be moved to 9.6.0. Ensure that there are no commits on `develop` since the last release that are user facing and aren't marked with the current release. +2. Ensure all changes to the links manifest to [`on.cypress.io`](https://github.com/cypress-io/cypress-services/tree/develop/packages/on) have been merged to `develop` and deployed. 3. Create a Release PR Bump, submit, get approvals on, and merge a new PR. This PR Should: - - Bump the Cypress `version` in [`package.json`](package.json) - - Bump the [`packages/example`](../packages/example) dependency if there is a new [`cypress-example-kitchensink`](https://github.com/cypress-io/cypress-example-kitchensink/releases) version - - Follow the writing the [Cypress Changelog release steps](./writing-the-cypress-changelog.md#release) to update the [`cli/CHANGELOG.md`](../cli/CHANGELOG.md). -4. Once the `develop` branch is passing for all test projects with the new changes and the `linux-x64` binary is present at `https://cdn.cypress.io/beta/binary/X.Y.Z/linux-x64/develop-/cypress.zip`, and the `linux-x64` cypress npm package is present at `https://cdn.cypress.io/beta/npm/X.Y.Z/linux-x64/develop-/cypress.tgz`, publishing can proceed. + - Bump the Cypress `version` in [`package.json`](package.json) + - Bump the [`packages/example`](../packages/example) dependency if there is a new [`cypress-example-kitchensink`](https://github.com/cypress-io/cypress-example-kitchensink/releases) version + - Follow the writing the [Cypress Changelog release steps](./writing-the-cypress-changelog.md#release) to update the [`cli/CHANGELOG.md`](../cli/CHANGELOG.md). + +4. Once the `develop` branch is passing in CI and you have confirmed the `cypress-bot` has commented on the commit with the pre-release versions for `darwin-x64`, `darwin-arm64`, `linux-x64`,`linux-arm64`, and `win32-x64`, publishing can proceed. 5. Log into AWS SSO with `aws sso login --profile `. If you have setup your credentials under a different profile than `prod`, be sure to set the `AWS_PROFILE` environment variable to that profile name for the remaining steps. For example, if you are using `production` instead of `prod`, do `export AWS_PROFILE=production`. @@ -142,36 +140,29 @@ In the following instructions, "X.Y.Z" is used to denote the [next version of Cy yarn binary-release --version X.Y.Z ``` -15. If needed, push out any updated changes to the links manifest to [`on.cypress.io`](https://github.com/cypress-io/cypress-services/tree/develop/packages/on). - -16. Merge the documentation PR from step 11 and the new docker image PR created in step 12 to release the image. - -17. If needed, deploy the updated [`cypress-example-kitchensink`][cypress-example-kitchensink] to `example.cypress.io` by following [these instructions under "Deployment"](../packages/example/README.md). +15. Merge the documentation PR from step 11 and the new docker image PR created in step 12 to release the image. -18. Update the releases in [ZenHub](https://app.zenhub.com/workspaces/test-runner-5c3ea3baeb1e75374f7b0708/reports/release): - - Close the current release in ZenHub. - - Create a new patch release (and a new minor release, if this is a minor release) in ZenHub, and schedule them both to be completed 2 weeks from the current date. - - Move all issues that are still open from the current release to the appropriate future release. +16. If needed, deploy the updated [`cypress-example-kitchensink`][cypress-example-kitchensink] to `example.cypress.io` by following [these instructions under "Deployment"](../packages/example/README.md). -19. Once the release is complete, create a Github tag off of the release commit which bumped the version: +17. Once the release is complete, create a Github tag off of the release commit which bumped the version: ```shell git checkout develop git pull origin develop git log --pretty=oneline - # copy sha of the previous commit + # copy sha of the version bump commit git tag -a vX.Y.Z -m vX.Y.Z git push origin vX.Y.Z ``` -20. Create a new [GitHub release](https://github.com/cypress-io/cypress/releases). Choose the tag you created previously and add contents to match previous releases. +18. Create a new [GitHub release](https://github.com/cypress-io/cypress/releases). Choose the tag you created previously and add contents to match previous releases. -21. Inside of [cypress-io/release-automations][release-automations], run the following to add a comment to each GH issue that has been resolved with the new published version: +19. Add a comment to each GH issue that has been resolved with the new published version. Download the `releaseData.json` artifact from the `verify-release-readiness` CircleCI job and run the following command inside of [cypress-io/release-automations][release-automations]: ```shell - cd packages/issues-in-release && npm run do:comment -- --release X.Y.Z + cd packages/issues-in-release && npm run do:comment -- --release-data ``` -22. Confirm there are no issues with the label [stage: pending release](https://github.com/cypress-io/cypress/issues?q=label%3A%22stage%3A+pending+release%22+is%3Aclosed) left +22. Confirm there are no issues from the release with the label [stage: pending release](https://github.com/cypress-io/cypress/issues?q=label%3A%22stage%3A+pending+release%22+is%3Aclosed) left. 23. Check all `cypress-test-*` and `cypress-example-*` repositories, and if there is a branch named `x.y.z` for testing the features or fixes from the newly published version `x.y.z`, update that branch to refer to the newly published NPM version in `package.json`. Then, get the changes approved and merged into that project's main branch. For projects without a `x.y.z` branch, you can go to the Renovate dependency issue and check the box next to `Update dependency cypress to X.Y.Z`. It will automatically create a PR. Once it passes, you can merge it. Try updating at least the following projects: - [cypress-example-todomvc](https://github.com/cypress-io/cypress-example-todomvc/issues/99) diff --git a/scripts/semantic-commits/get-binary-release-data.js b/scripts/semantic-commits/get-binary-release-data.js index 82651189e5c9..83078fa9b4c6 100644 --- a/scripts/semantic-commits/get-binary-release-data.js +++ b/scripts/semantic-commits/get-binary-release-data.js @@ -70,7 +70,7 @@ const getReleaseData = async (latestReleaseInfo) => { return } - const { data: pullRequest } = await octokit.request('GET /repos/{owner}/{repo}/pulls/{pull_number}', { + const { data: pullRequest } = await octokit.request('GET /repos/{owner}/{repo}/pull/{pull_number}', { owner: 'cypress-io', repo: 'cypress', pull_number: references[0].issue, @@ -92,6 +92,20 @@ const getReleaseData = async (latestReleaseInfo) => { }) })) + console.log('Next release version is', nextVersion) + + console.log(`${prsInRelease.length} pull requests have merged since ${latestReleaseInfo.version} was released.`) + + prsInRelease.forEach((link) => { + console.log(' -', link) + }) + + console.log(`${issuesInRelease.length} issues addressed since ${latestReleaseInfo.version} was released.`) + + issuesInRelease.forEach((link) => { + console.log(' -', link) + }) + return { nextVersion, changedFiles, @@ -112,23 +126,5 @@ if (require.main !== module) { (async () => { const latestReleaseInfo = await getCurrentReleaseData() - const { - changelogData, - issuesInRelease, - prsInRelease, - } = await getReleaseData(latestReleaseInfo) - - console.log('Next release version is', changelogData.nextVersion) - - console.log(`${prsInRelease.length} user-facing pull requests have merged since ${latestReleaseInfo.version} was released.`) - - .prsInRelease.forEach((link) => { - console.log(' -', link) - }) - - console.log(`${issuesInRelease.length} user-facing issues addressed since ${latestReleaseInfo.version} was released.`) - - issuesInRelease.forEach((link) => { - console.log(' -', link) - }) + await getReleaseData(latestReleaseInfo) })() diff --git a/scripts/semantic-commits/get-current-release-data.js b/scripts/semantic-commits/get-current-release-data.js index d031c5160d4d..ad35bf15b5cc 100644 --- a/scripts/semantic-commits/get-current-release-data.js +++ b/scripts/semantic-commits/get-current-release-data.js @@ -7,17 +7,20 @@ const childProcess = require('child_process') const getCurrentReleaseData = (verbose = true) => { verbose && console.log('Get Current Release Information\n') - const stdout = childProcess.execSync('npm info cypress --json') - const npmInfo = JSON.parse(stdout) + const stdout = childProcess.execSync('yarn info cypress --json') + const { data: npmInfo } = JSON.parse(stdout) const latestReleaseInfo = { version: npmInfo['dist-tags'].latest, + distTags: npmInfo['dist-tags'], commitDate: npmInfo.buildInfo.commitDate, buildSha: npmInfo.buildInfo.commitSha, } verbose && console.log({ latestReleaseInfo }) + latestReleaseInfo.versions = npmInfo.versions + return latestReleaseInfo } diff --git a/scripts/semantic-commits/validate-binary-changelog.js b/scripts/semantic-commits/validate-binary-changelog.js index 06e00b5879b1..b24793e92128 100644 --- a/scripts/semantic-commits/validate-binary-changelog.js +++ b/scripts/semantic-commits/validate-binary-changelog.js @@ -1,4 +1,6 @@ /* eslint-disable no-console */ +const fs = require('fs') +const path = require('path') const { validateChangelog } = require('./validate-changelog') const { getCurrentReleaseData } = require('./get-current-release-data') const { getReleaseData } = require('./get-binary-release-data') @@ -6,7 +8,7 @@ const checkedInBinaryVersion = require('../../package.json').version const changelog = async () => { const latestReleaseInfo = await getCurrentReleaseData() - let hasVersionBump = checkedInBinaryVersion !== latestReleaseInfo.version + const hasVersionBump = !latestReleaseInfo.versions.includes(checkedInBinaryVersion) // account for branches behind develop if (process.env.CIRCLECI) { console.log({ checkedInBinaryVersion }) @@ -18,13 +20,23 @@ const changelog = async () => { } } + const releaseData = await getReleaseData(latestReleaseInfo) + + const dirPath = path.join(path.sep, 'tmp', 'releaseData') + + if (!fs.existsSync(dirPath)) { + fs.mkdirSync(dirPath) + } + + fs.writeFileSync(path.join(dirPath, 'releaseData.json'), JSON.stringify(releaseData, null, 2)) + + console.log('Release data saved to', path.join(dirPath, 'releaseData.json')) + const { nextVersion, changedFiles, commits, - } = await getReleaseData(latestReleaseInfo) - - console.log({ nextVersion }) + } = releaseData return validateChangelog({ nextVersion, From a11e266b8b4c7d22c58d429e3e047311f4990308 Mon Sep 17 00:00:00 2001 From: Blue F Date: Mon, 13 Feb 2023 11:24:56 -0800 Subject: [PATCH 03/10] feat: add Cypress.Commands.overwriteQuery (#25674) * feat: add Cypress.Commands.overwriteQuery Co-authored-by: Emily Rohrbough Co-authored-by: Zach Bloomquist --- cli/CHANGELOG.md | 3 +- cli/types/cypress.d.ts | 9 ++++ packages/driver/cypress/e2e/cypress/cy.cy.js | 49 +++++++++++++++++++ packages/driver/src/cypress/commands.ts | 40 ++++++++++----- packages/driver/src/cypress/error_messages.ts | 12 +++-- 5 files changed, 97 insertions(+), 16 deletions(-) diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 8511518c698f..bda5585b6b81 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -1,10 +1,11 @@ - + ## 12.6.0 _Released 02/14/2023 (PENDING)_ **Features:** +- It is now possible to overwrite query commands using [`Cypress.Commands.overwriteQuery`](https://on.cypress.io/api/custom-queries). Addressed in [#25674](https://github.com/cypress-io/cypress/pull/25674). - Added the "Open in IDE" feature for failed tests reported from the Debug page. Addressed in [#25691](https://github.com/cypress-io/cypress/pull/25691). - Added a new CLI flag, called [`--auto-cancel-after-failures`](https://docs.cypress.io/guides/guides/command-line#Options), that overrides the project-level CI ["Auto Cancellation"](https://docs.cypress.io/guides/cloud/smart-orchestration#Auto-Cancellation) value when recording to the Cloud. This gives Cloud users on Business and Enterprise plans the flexibility to alter the auto-cancellation value per run. Addressed in [#25237](https://github.com/cypress-io/cypress/pull/25237). - Added `Cypress.require()` for including dependencies within the `cy.origin()` callback. Removed support for `require()` and `import()` within the callback. Addresses [#24976](https://github.com/cypress-io/cypress/issues/24976). diff --git a/cli/types/cypress.d.ts b/cli/types/cypress.d.ts index 09eb24d746ae..60ad410061e2 100644 --- a/cli/types/cypress.d.ts +++ b/cli/types/cypress.d.ts @@ -53,6 +53,9 @@ declare namespace Cypress { interface QueryFn { (this: Command, ...args: Parameters): (subject: any) => any } + interface QueryFnWithOriginalFn { + (this: Command, originalFn: QueryFn, ...args: Parameters): (subject: any) => any + } interface ObjectLike { [key: string]: any } @@ -648,6 +651,12 @@ declare namespace Cypress { * @see https://on.cypress.io/api/custom-queries */ addQuery(name: T, fn: QueryFn): void + + /** + * Overwrite an existing Cypress query with a new implementation + * @see https://on.cypress.io/api/custom-queries + */ + overwriteQuery(name: T, fn: QueryFnWithOriginalFn): void } /** diff --git a/packages/driver/cypress/e2e/cypress/cy.cy.js b/packages/driver/cypress/e2e/cypress/cy.cy.js index fd7f5291d006..52aa44df2b6d 100644 --- a/packages/driver/cypress/e2e/cypress/cy.cy.js +++ b/packages/driver/cypress/e2e/cypress/cy.cy.js @@ -565,5 +565,54 @@ describe('driver/src/cypress/cy', () => { cy.get('body').find('#specific-contains').children().should('have.class', 'active') }) + + context('overwriting queries', () => { + it('does not allow commands to overwrite queries', () => { + const fn = () => Cypress.Commands.overwrite('get', () => {}) + + expect(fn).to.throw().with.property('message') + .and.include('Cannot overwite the `get` query. Queries can only be overwritten with `Cypress.Commands.overwriteQuery()`.') + + expect(fn).to.throw().with.property('docsUrl') + .and.include('https://on.cypress.io/api') + }) + + it('does not allow queries to overwrite commands', () => { + const fn = () => Cypress.Commands.overwriteQuery('click', () => {}) + + expect(fn).to.throw().with.property('message') + .and.include('Cannot overwite the `click` command. Commands can only be overwritten with `Cypress.Commands.overwrite()`.') + + expect(fn).to.throw().with.property('docsUrl') + .and.include('https://on.cypress.io/api') + }) + + it('can call the originalFn', () => { + // Ensure nothing gets confused when we overwrite the same query multiple times. + // Both overwrites should succeed, layered on top of each other. + + let overwriteCalled = 0 + + Cypress.Commands.overwriteQuery('get', function (originalFn, ...args) { + overwriteCalled++ + + return originalFn.call(this, ...args) + }) + + let secondOverwriteCalled = 0 + + Cypress.Commands.overwriteQuery('get', function (originalFn, ...args) { + secondOverwriteCalled++ + + return originalFn.call(this, ...args) + }) + + cy.get('button').should('have.length', 24) + cy.then(() => { + expect(overwriteCalled).to.eq(1) + expect(secondOverwriteCalled).to.eq(1) + }) + }) + }) }) }) diff --git a/packages/driver/src/cypress/commands.ts b/packages/driver/src/cypress/commands.ts index c4e51904bafa..36bf924f3085 100644 --- a/packages/driver/src/cypress/commands.ts +++ b/packages/driver/src/cypress/commands.ts @@ -27,11 +27,9 @@ const getTypeByPrevSubject = (prevSubject) => { return 'parent' } -const internalError = (path, name) => { +const internalError = (path, args) => { $errUtils.throwErrByPath(path, { - args: { - name, - }, + args, stack: (new cy.state('specWindow').Error('add command stack')).stack, errProps: { appendToStack: { @@ -88,11 +86,11 @@ export default { add (name, options, fn) { if (builtInCommandNames[name]) { - internalError('miscellaneous.invalid_new_command', name) + internalError('miscellaneous.invalid_new_command', { name }) } if (reservedCommandNames.has(name)) { - internalError('miscellaneous.reserved_command', name) + internalError('miscellaneous.reserved_command', { name }) } // .hover & .mount are special case commands. allow as builtins so users @@ -126,11 +124,11 @@ export default { const original = commands[name] if (queries[name]) { - internalError('miscellaneous.invalid_overwrite_query_with_command', name) + internalError('miscellaneous.invalid_overwrite_query_with_command', { name }) } if (!original) { - internalError('miscellaneous.invalid_overwrite', name) + internalError('miscellaneous.invalid_overwrite', { name, type: 'command' }) } function originalFn (...args) { @@ -157,13 +155,13 @@ export default { return cy.addCommand(overridden) }, - addQuery (name: string, fn: () => QueryFunction) { + addQuery (name: string, fn: (...args: any[]) => QueryFunction) { if (reservedCommandNames.has(name)) { - internalError('miscellaneous.reserved_command_query', name) + internalError('miscellaneous.reserved_command_query', { name }) } if (cy[name]) { - internalError('miscellaneous.invalid_new_query', name) + internalError('miscellaneous.invalid_new_query', { name }) } if (addingBuiltIns) { @@ -173,6 +171,26 @@ export default { queries[name] = fn cy.addQuery({ name, fn }) }, + + overwriteQuery (name: string, fn: (...args: any[]) => QueryFunction) { + if (commands[name]) { + internalError('miscellaneous.invalid_overwrite_command_with_query', { name }) + } + + const original = queries[name] + + if (!original) { + internalError('miscellaneous.invalid_overwrite', { name, type: 'command' }) + } + + queries[name] = function overridden (...args) { + args.unshift(original) + + return fn.apply(this, args) + } + + cy.addQuery({ name, fn: queries[name] }) + }, } addingBuiltIns = true diff --git a/packages/driver/src/cypress/error_messages.ts b/packages/driver/src/cypress/error_messages.ts index a730d87826a4..008304d7017b 100644 --- a/packages/driver/src/cypress/error_messages.ts +++ b/packages/driver/src/cypress/error_messages.ts @@ -862,12 +862,16 @@ export default { docsUrl: 'https://on.cypress.io/api/custom-queries', }, invalid_overwrite: { - message: 'Cannot overwite command for: `{{name}}`. An existing command does not exist by that name.', - docsUrl: 'https://on.cypress.io/api', + message: 'Cannot overwite command for: `{{name}}`. An existing {{type}} does not exist by that name.', + docsUrl: 'https://on.cypress.io/api/custom-commands', + }, + invalid_overwrite_command_with_query: { + message: 'Cannot overwite the `{{name}}` command. Commands can only be overwritten with `Cypress.Commands.overwrite()`.', + docsUrl: 'https://on.cypress.io/api/custom-commands', }, invalid_overwrite_query_with_command: { - message: 'Cannot overwite the `{{name}}` query. Queries cannot be overwritten.', - docsUrl: 'https://on.cypress.io/api', + message: 'Cannot overwite the `{{name}}` query. Queries can only be overwritten with `Cypress.Commands.overwriteQuery()`.', + docsUrl: 'https://on.cypress.io/api/custom-queries', }, invoking_child_without_parent (obj) { return stripIndent`\ From 88c2279b555aad8f3e2d41eea528535094a9909e Mon Sep 17 00:00:00 2001 From: willmsC <50909991+willmsC@users.noreply.github.com> Date: Mon, 13 Feb 2023 21:33:32 +0100 Subject: [PATCH 04/10] fix: spawn child process with process.env in macOS arm64 (#25753) Co-authored-by: Matt Schile Co-authored-by: Emily Rohrbough Co-authored-by: Zach Bloomquist --- cli/CHANGELOG.md | 1 + packages/launcher/lib/utils.ts | 2 +- packages/launcher/test/unit/darwin_spec.ts | 16 +++++++++++++--- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index bda5585b6b81..00fc661f372a 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -15,6 +15,7 @@ _Released 02/14/2023 (PENDING)_ - Fixed an issue with the Cloud project selection modal not showing the correct prompts. Fixes [#25520](https://github.com/cypress-io/cypress/issues/25520). - Fixed an issue in middleware where error-handling code could itself generate an error and fail to report the original issue. Fixes [#22825](https://github.com/cypress-io/cypress/issues/22825). - Fixed an issue that could cause the Debug page to display a different number of specs for in-progress runs than shown in Cypress Cloud. Fixes [#25647](https://github.com/cypress-io/cypress/issues/25647). +- Fixed an issue introduced in Cypress 12.3.0 where custom browsers that relied on process environment variables were not found on macOS arm64 architectures. Fixed in [#25753](https://github.com/cypress-io/cypress/pull/25753). **Misc:** diff --git a/packages/launcher/lib/utils.ts b/packages/launcher/lib/utils.ts index de07e4213fd0..c2e68a948361 100644 --- a/packages/launcher/lib/utils.ts +++ b/packages/launcher/lib/utils.ts @@ -42,7 +42,7 @@ export const utils = { let stdout = '' let stderr = '' - const proc = utils.spawnWithArch(cmd, args, { stdio: ['ignore', 'pipe', 'pipe'] }) + const proc = utils.spawnWithArch(cmd, args, { stdio: ['ignore', 'pipe', 'pipe'], env: process.env }) const finish = () => { proc.kill() diff --git a/packages/launcher/test/unit/darwin_spec.ts b/packages/launcher/test/unit/darwin_spec.ts index ee49925c47cc..d62101d27b09 100644 --- a/packages/launcher/test/unit/darwin_spec.ts +++ b/packages/launcher/test/unit/darwin_spec.ts @@ -90,6 +90,7 @@ describe('darwin browser detection', () => { context('forces correct architecture', () => { function stubForArch (arch: 'arm64' | 'x64') { + sinon.stub(process, 'env').value({ env2: 'false', env3: 'true' }) sinon.stub(os, 'arch').returns(arch) sinon.stub(os, 'platform').returns('darwin') getOutput.restore() @@ -111,6 +112,8 @@ describe('darwin browser detection', () => { expect(args[1]).to.deep.eq([knownBrowsers[0].binary, '--version']) expect(args[2].env).to.deep.include({ ARCHPREFERENCE: 'arm64,x86_64', + env2: 'false', + env3: 'true', }) }) @@ -125,7 +128,10 @@ describe('darwin browser detection', () => { expect(args[0]).to.eq(knownBrowsers[0].binary) expect(args[1]).to.deep.eq(['--version']) - expect(args[2].env).to.not.exist + expect(args[2].env).to.deep.include({ + env2: 'false', + env3: 'true', + }) }) }) @@ -133,7 +139,7 @@ describe('darwin browser detection', () => { it('uses arch and ARCHPREFERENCE on arm64', async () => { const cpSpawn = stubForArch('arm64') - await launch({ path: 'chrome' } as unknown as FoundBrowser, 'url', 123, ['arg1'], { env1: 'true' }) + await launch({ path: 'chrome' } as unknown as FoundBrowser, 'url', 123, ['arg1'], { env1: 'true', env2: 'true' }) const { args } = cpSpawn.getCall(0) @@ -142,13 +148,15 @@ describe('darwin browser detection', () => { expect(args[2].env).to.deep.include({ ARCHPREFERENCE: 'arm64,x86_64', env1: 'true', + env2: 'false', + env3: 'true', }) }) it('does not use `arch` on x64', async () => { const cpSpawn = stubForArch('x64') - await launch({ path: 'chrome' } as unknown as FoundBrowser, 'url', 123, ['arg1'], { env1: 'true' }) + await launch({ path: 'chrome' } as unknown as FoundBrowser, 'url', 123, ['arg1'], { env1: 'true', env2: 'true' }) const { args } = cpSpawn.getCall(0) @@ -156,6 +164,8 @@ describe('darwin browser detection', () => { expect(args[1]).to.deep.eq(['url', 'arg1']) expect(args[2].env).to.deep.include({ env1: 'true', + env2: 'false', + env3: 'true', }) expect(args[2].env).to.not.have.property('ARCHPREFERENCE') From 748f3a56ca587e42a3cb531139719421a82e62ab Mon Sep 17 00:00:00 2001 From: Zach Bloomquist Date: Mon, 13 Feb 2023 16:40:58 -0500 Subject: [PATCH 05/10] chore: lint system tests in CI (#25673) --- .../e2e/runner/ct-framework-errors.cy.ts | 30 +- system-tests/.eslintignore | 27 ++ system-tests/.eslintrc.json | 5 +- system-tests/package.json | 1 + .../angular/cypress/support/component.ts | 3 +- .../another-child-providers.component.ts | 10 +- .../app/components/button-output.component.ts | 6 +- .../components/child-providers.component.ts | 12 +- .../app/components/child-providers.service.ts | 8 +- .../src/app/components/child.component.ts | 6 +- .../src/app/components/counter.component.ts | 12 +- .../src/app/components/counter.service.ts | 8 +- .../angular/src/app/components/errors.ts | 8 +- .../src/app/components/lifecycle.component.ts | 12 +- .../src/app/components/logo.component.ts | 6 +- .../src/app/components/parent-child.module.ts | 2 +- .../components/parent-providers.component.ts | 6 +- .../src/app/components/parent.component.ts | 6 +- .../app/components/projection.component.ts | 4 +- .../components/with-directives.component.ts | 6 +- .../angular/src/app/errors.cy.ts | 3 +- .../angular/src/app/zonejs-mocha-only.cy.ts | 17 +- .../angular/src/app/zonejs-mocha-skip.cy.ts | 16 +- .../next/cypress/Errors.cy.jsx | 16 +- .../next/cypress/support/component.ts | 2 +- ...cypress-vite-dev-server-function.config.ts | 14 +- .../react/cypress-vite-no-support.config.ts | 4 +- .../react/cypress-vite-port-in-use.config.ts | 10 +- .../react/cypress-vite.config.ts | 3 +- ...-webpack-dev-server-async-config.config.ts | 1 + ...ress-webpack-dev-server-function.config.ts | 16 +- .../cypress-webpack-no-support.config.ts | 4 +- .../react/cypress-webpack.config.ts | 4 +- .../project-fixtures/react/src/App.jsx | 1 - .../project-fixtures/react/src/Errors.cy.jsx | 14 +- .../react/src/MissingReact.jsx | 2 +- .../react/src/Rerendering.cy.jsx | 23 +- .../project-fixtures/react/src/Unmount.cy.jsx | 4 +- .../project-fixtures/react/src/mount.cy.jsx | 8 +- .../projects/coffee-react-interop/lib/dom.jsx | 4 +- .../projects/cra-ejected/config/env.js | 110 +++---- .../cra-ejected/config/getHttpsConfig.js | 62 ++-- .../projects/cra-ejected/config/modules.js | 85 +++--- .../projects/cra-ejected/config/paths.js | 38 ++- .../cra-ejected/config/webpack.config.js | 253 ++++++++-------- .../persistentCache/createEnvironmentHash.js | 15 +- .../config/webpackDevServer.config.js | 43 +-- .../src/App.test.js | 13 +- .../create-react-app-configured/src/index.js | 12 +- .../src/setupTests.js | 2 +- .../src/App.cy.jsx | 2 +- .../src/App.test.js | 13 +- .../src/index.js | 12 +- .../src/setupTests.js | 2 +- .../create-react-app-unconfigured/src/App.js | 10 +- .../src/App.test.js | 13 +- .../src/index.js | 12 +- .../src/setupTests.js | 2 +- .../projects/e2e/cypress/e2e/proxying.cy.js | 3 +- system-tests/projects/e2e/lib/dom.jsx | 4 +- system-tests/projects/e2e/static/fail.js | 2 +- .../e2e/static/simple_obstructive_code.js | 4 +- system-tests/projects/ids/cypress/e2e/dom.jsx | 2 +- .../test/failing/__snapshots__/spec.js | 25 +- .../test/invalid/__snapshots__/spec.js | 25 +- .../test/successful/__snapshots__/spec.js | 25 +- .../components/button.cy.jsx | 2 +- .../nextjs-configured/components/button.jsx | 2 +- .../projects/nextjs-configured/pages/_app.js | 2 +- .../nextjs-configured/pages/api/hello.js | 2 +- .../projects/nextjs-configured/pages/index.js | 2 +- .../components/button.cy.jsx | 2 +- .../nextjs-unconfigured/components/button.jsx | 2 +- .../nextjs-unconfigured/pages/_app.js | 2 +- .../nextjs-unconfigured/pages/api/hello.js | 2 +- .../nextjs-unconfigured/pages/index.js | 2 +- .../no-specs-custom-pattern/src/App.jsx | 8 +- .../src/components/Button.cy2.jsx | 5 +- .../src/components/Button.jsx | 21 +- .../no-specs-custom-pattern/src/index.jsx | 12 +- .../projects/no-specs-vue-2/babel.config.js | 4 +- .../cypress-custom-spec-pattern.config.js | 6 +- .../cypress/support/commands.js | 2 +- .../cypress/support/component.js | 2 +- .../projects/no-specs-vue-2/src/main.js | 2 +- .../projects/no-specs-vue-2/vue.config.js | 3 +- system-tests/projects/no-specs/src/App.jsx | 8 +- system-tests/projects/no-specs/src/index.jsx | 12 +- .../components/Errors.cy.js | 7 +- .../nuxtjs-vue2-configured/nuxt.config.js | 8 +- .../nuxtjs-vue2-unconfigured/nuxt.config.js | 10 +- .../support/commands.js | 2 +- .../support/component.js | 2 +- .../cypress/support/commands.js | 2 +- .../cypress/support/e2e.js | 2 +- .../cypress/support/commands.js | 2 +- .../cypress/support/commands.js | 2 +- .../cypress/support/e2e.js | 2 +- .../cypress/support/commands.js | 2 +- .../cypress/support/e2e.js | 2 +- .../cypress.config.ts | 6 +- .../cypress/support/commands.ts | 2 +- .../cypress/support/component.ts | 2 +- .../cypress.config.ts | 8 +- .../cypress/support/commands.ts | 2 +- .../cypress/support/component.ts | 2 +- .../expected-cypress-ts-e2e/cypress.config.ts | 6 +- .../cypress/support/commands.ts | 2 +- .../cypress/support/e2e.ts | 2 +- .../config/env.js | 110 +++---- .../config/getHttpsConfig.js | 62 ++-- .../config/jest/babelTransform.js | 17 +- .../config/jest/cssTransform.js | 12 +- .../config/jest/fileTransform.js | 21 +- .../config/modules.js | 85 +++--- .../config/paths.js | 38 ++- .../persistentCache/createEnvironmentHash.js | 15 +- .../config/webpackDevServer.config.js | 43 +-- .../scripts/build.js | 285 +++++++++--------- .../scripts/start.js | 242 +++++++-------- .../scripts/test.js | 48 +-- .../src/App.js | 10 +- .../src/App.test.js | 13 +- .../src/index.js | 16 +- .../src/reportWebVitals.js | 18 +- .../src/setupTests.js | 2 +- .../webpack.config.js | 253 ++++++++-------- .../react17/src/UsingLegacyMount.cy.jsx | 4 +- .../react18/src/UsingLegacyMount.cy.jsx | 4 +- .../projects/runner-ct-specs/src/Errors.jsx | 1 - .../src/components/HelloWorld.cy.ts | 4 +- .../vue3-vite-ts-configured/vite.config.ts | 4 +- .../vite.config.ts | 4 +- .../vue3-vite-ts-unconfigured/vite.config.ts | 2 +- .../cypress/support/component.js | 2 +- .../src/components/HelloWorld.cy.js | 8 +- .../vueclivue2-configured/src/mount.cy.js | 12 +- .../vueclivue2-unconfigured/src/main.js | 4 +- 138 files changed, 1376 insertions(+), 1276 deletions(-) create mode 100644 system-tests/.eslintignore diff --git a/packages/app/cypress/e2e/runner/ct-framework-errors.cy.ts b/packages/app/cypress/e2e/runner/ct-framework-errors.cy.ts index 5c3ee15c4c99..2edad8a786c0 100644 --- a/packages/app/cypress/e2e/runner/ct-framework-errors.cy.ts +++ b/packages/app/cypress/e2e/runner/ct-framework-errors.cy.ts @@ -74,7 +74,7 @@ reactVersions.forEach((reactVersion) => { }) verify('error on mount', { - line: 6, + line: 5, column: 33, uncaught: true, uncaughtMessage: 'mount error', @@ -86,8 +86,8 @@ reactVersions.forEach((reactVersion) => { }) verify('sync error', { - line: 11, - column: 34, + line: 12, + column: 19, uncaught: true, uncaughtMessage: 'sync error', message: [ @@ -101,8 +101,8 @@ reactVersions.forEach((reactVersion) => { }) verify('async error', { - line: 18, - column: 38, + line: 21, + column: 21, uncaught: true, uncaughtMessage: 'async error', message: [ @@ -116,7 +116,7 @@ reactVersions.forEach((reactVersion) => { }) verify('command failure', { - line: 43, + line: 47, column: 8, command: 'get', message: [ @@ -148,7 +148,7 @@ describe('Next.js', { }) verify('error on mount', { - line: 7, + line: 6, column: 33, uncaught: true, uncaughtMessage: 'mount error', @@ -160,8 +160,8 @@ describe('Next.js', { }) verify('sync error', { - line: 12, - column: 34, + line: 13, + column: 19, uncaught: true, uncaughtMessage: 'sync error', message: [ @@ -175,8 +175,8 @@ describe('Next.js', { }) verify('async error', { - line: 19, - column: 38, + line: 22, + column: 21, uncaught: true, uncaughtMessage: 'async error', message: [ @@ -189,7 +189,7 @@ describe('Next.js', { }) verify('command failure', { - line: 44, + line: 48, column: 8, command: 'get', message: [ @@ -338,8 +338,8 @@ describe('Nuxt', { 'Timed out retrying', 'element-that-does-not-exist', ], - codeFrameRegex: /Errors\.cy\.js:26/, - stackRegex: /Errors\.cy\.js:26/, + codeFrameRegex: /Errors\.cy\.js:25/, + stackRegex: /Errors\.cy\.js:25/, }) }) }) @@ -465,7 +465,7 @@ angularVersions.forEach((angularVersion) => { }) verify('command failure', { - line: 21, + line: 20, column: 8, command: 'get', message: [ diff --git a/system-tests/.eslintignore b/system-tests/.eslintignore new file mode 100644 index 000000000000..cdc1d599f849 --- /dev/null +++ b/system-tests/.eslintignore @@ -0,0 +1,27 @@ +# purposeful syntax errors +system-tests/projects/config-with-ts-module-error/cypress.config.ts +system-tests/projects/config-with-ts-syntax-error/cypress.config.ts +system-tests/projects/e2e/cypress/e2e/stdout_exit_early_failing.cy.js +system-tests/projects/e2e/cypress/e2e/typescript_syntax_error.cy.ts +system-tests/projects/e2e/lib/fail.js +system-tests/projects/e2e/static/fail.js +system-tests/projects/ids/cypress/e2e/dom.jsx +system-tests/projects/no-specs/src/Invalid.jsx +system-tests/projects/todos/tests/_fixtures/bad_js.js +system-tests/projects/todos/tests/_fixtures/bar.js +system-tests/projects/todos/tests/_fixtures/foo.js +system-tests/projects/todos/tests/_fixtures/nested/fixture.js +system-tests/projects/todos/tests/_fixtures/no_format.js +system-tests/projects/todos/tests/_fixtures/trailing_new_line.js +system-tests/projects/todos/tests/_fixtures/user.js +system-tests/project-fixtures/react/src/AppCompilationError.cy.jsx + +# 3rd party +system-tests/projects/e2e/static/jquery.js + +# snapshots +system-tests/projects/pristine/expected-cypress-js-component-create-react-app-v5/cypress.config.js +system-tests/projects/pristine/expected-cypress-js-e2e/cypress.config.js +system-tests/projects/pristine/expected-cypress-js-e2e-without-fixtures/cypress.config.js +system-tests/projects/pristine-module/expected-cypress-js-e2e/cypress.config.js +system-tests/projects/pristine-cjs-project/expected-cypress-js-component-vue.js-3-webpack/cypress.config.js diff --git a/system-tests/.eslintrc.json b/system-tests/.eslintrc.json index f8d37d4d41b0..42c1beed2704 100644 --- a/system-tests/.eslintrc.json +++ b/system-tests/.eslintrc.json @@ -10,5 +10,8 @@ }, "extends": [ "plugin:@cypress/dev/tests" - ] + ], + "rules": { + "no-console": "off" + } } diff --git a/system-tests/package.json b/system-tests/package.json index 9a5a1c7abb34..e6fb5c455367 100644 --- a/system-tests/package.json +++ b/system-tests/package.json @@ -6,6 +6,7 @@ "main": "lib/fixtures.ts", "browser": "lib/fixtureDirs.ts", "scripts": { + "lint": "eslint . --ext .js,.ts,.jsx,.tsx", "type-check": "tsc --project .", "clean-deps": "find . -depth -name node_modules -type d -exec rimraf {} \\;", "preprojects:yarn:install": "yarn clean-deps", diff --git a/system-tests/project-fixtures/angular/cypress/support/component.ts b/system-tests/project-fixtures/angular/cypress/support/component.ts index 8153830d67ac..6ff64aeb788c 100644 --- a/system-tests/project-fixtures/angular/cypress/support/component.ts +++ b/system-tests/project-fixtures/angular/cypress/support/component.ts @@ -8,5 +8,4 @@ declare global { } } - -Cypress.Commands.add('mount', mount); +Cypress.Commands.add('mount', mount) diff --git a/system-tests/project-fixtures/angular/src/app/components/another-child-providers.component.ts b/system-tests/project-fixtures/angular/src/app/components/another-child-providers.component.ts index dfaa23043f72..7f71862fb940 100644 --- a/system-tests/project-fixtures/angular/src/app/components/another-child-providers.component.ts +++ b/system-tests/project-fixtures/angular/src/app/components/another-child-providers.component.ts @@ -5,16 +5,16 @@ import { take } from 'rxjs/operators' @Component({ selector: 'app-another-child', template: ``, - providers: [ChildProvidersService] + providers: [ChildProvidersService], }) export class AnotherChildProvidersComponent { message = 'default another child message' - constructor(private readonly service: ChildProvidersService) {} + constructor (private readonly service: ChildProvidersService) {} - handleClick(): void { + handleClick (): void { this.service.getMessage().pipe( - take(1) + take(1), ).subscribe((message) => this.message = message) } -} \ No newline at end of file +} diff --git a/system-tests/project-fixtures/angular/src/app/components/button-output.component.ts b/system-tests/project-fixtures/angular/src/app/components/button-output.component.ts index 891dc8761a92..6fd90a514d4e 100644 --- a/system-tests/project-fixtures/angular/src/app/components/button-output.component.ts +++ b/system-tests/project-fixtures/angular/src/app/components/button-output.component.ts @@ -1,9 +1,9 @@ -import { Component, EventEmitter, Output } from "@angular/core"; +import { Component, EventEmitter, Output } from '@angular/core' @Component({ selector: 'app-button-output', - template: `` + template: ``, }) export class ButtonOutputComponent { @Output() clicked: EventEmitter = new EventEmitter() -} \ No newline at end of file +} diff --git a/system-tests/project-fixtures/angular/src/app/components/child-providers.component.ts b/system-tests/project-fixtures/angular/src/app/components/child-providers.component.ts index c457f53ef01a..f2c2e1edebe5 100644 --- a/system-tests/project-fixtures/angular/src/app/components/child-providers.component.ts +++ b/system-tests/project-fixtures/angular/src/app/components/child-providers.component.ts @@ -4,16 +4,16 @@ import { take } from 'rxjs/operators' @Component({ selector: 'app-child-providers', - template: `` + template: ``, }) export class ChildProvidersComponent { message = 'default message' - constructor(private readonly service: ChildProvidersService) {} + constructor (private readonly service: ChildProvidersService) {} - handleClick(): void { + handleClick (): void { this.service.getMessage().pipe( - take(1) - ).subscribe(message => this.message = message) + take(1), + ).subscribe((message) => this.message = message) } -} \ No newline at end of file +} diff --git a/system-tests/project-fixtures/angular/src/app/components/child-providers.service.ts b/system-tests/project-fixtures/angular/src/app/components/child-providers.service.ts index bfad1fe2fa0e..73d24bf9acc6 100644 --- a/system-tests/project-fixtures/angular/src/app/components/child-providers.service.ts +++ b/system-tests/project-fixtures/angular/src/app/components/child-providers.service.ts @@ -5,11 +5,11 @@ import { map } from 'rxjs/operators' @Injectable() export class ChildProvidersService { - constructor(private readonly http: HttpClient) {} + constructor (private readonly http: HttpClient) {} - getMessage(): Observable { + getMessage (): Observable { return this.http.get<{ message: string }>('https://myfakeapiurl.com/api/message').pipe( - map((response) => response.message) + map((response) => response.message), ) } -} \ No newline at end of file +} diff --git a/system-tests/project-fixtures/angular/src/app/components/child.component.ts b/system-tests/project-fixtures/angular/src/app/components/child.component.ts index ac0fbf99cb04..f5952b8c1ba0 100644 --- a/system-tests/project-fixtures/angular/src/app/components/child.component.ts +++ b/system-tests/project-fixtures/angular/src/app/components/child.component.ts @@ -1,8 +1,8 @@ -import { Component, Input } from "@angular/core"; +import { Component, Input } from '@angular/core' @Component({ - selector: "child-component", - template: "

{{msg}}

", + selector: 'child-component', + template: '

{{msg}}

', }) export class ChildComponent { @Input() msg!: string; diff --git a/system-tests/project-fixtures/angular/src/app/components/counter.component.ts b/system-tests/project-fixtures/angular/src/app/components/counter.component.ts index 591bbb7f838d..9e3871014651 100644 --- a/system-tests/project-fixtures/angular/src/app/components/counter.component.ts +++ b/system-tests/project-fixtures/angular/src/app/components/counter.component.ts @@ -1,8 +1,8 @@ -import { Component } from "@angular/core"; -import { CounterService } from "./counter.service"; +import { Component } from '@angular/core' +import { CounterService } from './counter.service' @Component({ - selector: "counter-component", + selector: 'counter-component', template: ``, @@ -10,9 +10,9 @@ import { CounterService } from "./counter.service"; export class CounterComponent { count$ = this.counterService.count$; - constructor(private counterService: CounterService) {} + constructor (private counterService: CounterService) {} - increment() { - this.counterService.increment(); + increment () { + this.counterService.increment() } } diff --git a/system-tests/project-fixtures/angular/src/app/components/counter.service.ts b/system-tests/project-fixtures/angular/src/app/components/counter.service.ts index d31ec5123818..e7995dc742e5 100644 --- a/system-tests/project-fixtures/angular/src/app/components/counter.service.ts +++ b/system-tests/project-fixtures/angular/src/app/components/counter.service.ts @@ -1,12 +1,12 @@ -import { Injectable } from "@angular/core"; -import { BehaviorSubject } from "rxjs"; +import { Injectable } from '@angular/core' +import { BehaviorSubject } from 'rxjs' @Injectable() export class CounterService { private count = new BehaviorSubject(0); public count$ = this.count.asObservable(); - public increment() { - this.count.next(this.count.value + 1); + public increment () { + this.count.next(this.count.value + 1) } } diff --git a/system-tests/project-fixtures/angular/src/app/components/errors.ts b/system-tests/project-fixtures/angular/src/app/components/errors.ts index ba83b8fd3e4c..ab1fe3db7774 100644 --- a/system-tests/project-fixtures/angular/src/app/components/errors.ts +++ b/system-tests/project-fixtures/angular/src/app/components/errors.ts @@ -1,7 +1,7 @@ -import { Component, Input } from "@angular/core"; +import { Component, Input } from '@angular/core' @Component({ - selector: "errors-component", + selector: 'errors-component', template: `
@@ -10,11 +10,11 @@ import { Component, Input } from "@angular/core"; export class ErrorsComponent { @Input() throwError!: boolean; - syncError() { + syncError () { throw new Error('sync error') } - asyncError() { + asyncError () { setTimeout(() => { throw new Error('async error') }) diff --git a/system-tests/project-fixtures/angular/src/app/components/lifecycle.component.ts b/system-tests/project-fixtures/angular/src/app/components/lifecycle.component.ts index 7335946fb3dc..33473fb69643 100644 --- a/system-tests/project-fixtures/angular/src/app/components/lifecycle.component.ts +++ b/system-tests/project-fixtures/angular/src/app/components/lifecycle.component.ts @@ -2,7 +2,7 @@ import { Component, Input, OnInit, OnChanges, SimpleChanges } from '@angular/cor @Component({ selector: 'app-lifecycle', - template: `

Hi {{ name }}. ngOnInit fired: {{ ngOnInitFired }} and ngOnChanges fired: {{ ngOnChangesFired }} and conditionalName: {{ conditionalName }}

` + template: `

Hi {{ name }}. ngOnInit fired: {{ ngOnInitFired }} and ngOnChanges fired: {{ ngOnChangesFired }} and conditionalName: {{ conditionalName }}

`, }) export class LifecycleComponent implements OnInit, OnChanges { @Input() name = '' @@ -10,14 +10,14 @@ export class LifecycleComponent implements OnInit, OnChanges { ngOnChangesFired = false conditionalName = false - ngOnInit(): void { + ngOnInit (): void { this.ngOnInitFired = true } - - ngOnChanges(changes: SimpleChanges): void { - this.ngOnChangesFired = true; + + ngOnChanges (changes: SimpleChanges): void { + this.ngOnChangesFired = true if (changes['name'].currentValue === 'CONDITIONAL NAME') { this.conditionalName = true } } -} \ No newline at end of file +} diff --git a/system-tests/project-fixtures/angular/src/app/components/logo.component.ts b/system-tests/project-fixtures/angular/src/app/components/logo.component.ts index b3b0fbbf4762..8e8552378db6 100644 --- a/system-tests/project-fixtures/angular/src/app/components/logo.component.ts +++ b/system-tests/project-fixtures/angular/src/app/components/logo.component.ts @@ -1,7 +1,7 @@ -import { Component } from "@angular/core"; +import { Component } from '@angular/core' @Component({ selector: 'app-logo', - template: `` + template: ``, }) -export class LogoComponent {} \ No newline at end of file +export class LogoComponent {} diff --git a/system-tests/project-fixtures/angular/src/app/components/parent-child.module.ts b/system-tests/project-fixtures/angular/src/app/components/parent-child.module.ts index 4b5a5b83c94e..961f119c32b6 100644 --- a/system-tests/project-fixtures/angular/src/app/components/parent-child.module.ts +++ b/system-tests/project-fixtures/angular/src/app/components/parent-child.module.ts @@ -4,4 +4,4 @@ import { ChildComponent } from './child.component' @NgModule({ declarations: [ParentComponent, ChildComponent], -}) export class ParentChildModule {} \ No newline at end of file +}) export class ParentChildModule {} diff --git a/system-tests/project-fixtures/angular/src/app/components/parent-providers.component.ts b/system-tests/project-fixtures/angular/src/app/components/parent-providers.component.ts index af031a211307..281c091c59bf 100644 --- a/system-tests/project-fixtures/angular/src/app/components/parent-providers.component.ts +++ b/system-tests/project-fixtures/angular/src/app/components/parent-providers.component.ts @@ -1,8 +1,8 @@ -import { Component } from '@angular/core'; +import { Component } from '@angular/core' @Component({ template: ` - ` + `, }) -export class ParentProvidersComponent {} \ No newline at end of file +export class ParentProvidersComponent {} diff --git a/system-tests/project-fixtures/angular/src/app/components/parent.component.ts b/system-tests/project-fixtures/angular/src/app/components/parent.component.ts index 5757d8190a92..d45ed11e7043 100644 --- a/system-tests/project-fixtures/angular/src/app/components/parent.component.ts +++ b/system-tests/project-fixtures/angular/src/app/components/parent.component.ts @@ -1,9 +1,9 @@ -import { Component } from "@angular/core"; +import { Component } from '@angular/core' @Component({ - selector: "parent-component", + selector: 'parent-component', template: '', }) export class ParentComponent { - msg = "Hello World from ParentComponent"; + msg = 'Hello World from ParentComponent'; } diff --git a/system-tests/project-fixtures/angular/src/app/components/projection.component.ts b/system-tests/project-fixtures/angular/src/app/components/projection.component.ts index 69956687d92b..23d207165a3b 100644 --- a/system-tests/project-fixtures/angular/src/app/components/projection.component.ts +++ b/system-tests/project-fixtures/angular/src/app/components/projection.component.ts @@ -2,6 +2,6 @@ import { Component } from '@angular/core' @Component({ selector: 'app-projection', - template: `

` + template: `

`, }) -export class ProjectionComponent {} \ No newline at end of file +export class ProjectionComponent {} diff --git a/system-tests/project-fixtures/angular/src/app/components/with-directives.component.ts b/system-tests/project-fixtures/angular/src/app/components/with-directives.component.ts index 7fd84012c7b4..aea95c441f47 100644 --- a/system-tests/project-fixtures/angular/src/app/components/with-directives.component.ts +++ b/system-tests/project-fixtures/angular/src/app/components/with-directives.component.ts @@ -1,7 +1,7 @@ -import { Component } from "@angular/core"; +import { Component } from '@angular/core' @Component({ - selector: "with-directives-component", + selector: 'with-directives-component', template: `
  • {{ item }}
  • @@ -10,5 +10,5 @@ import { Component } from "@angular/core"; export class WithDirectivesComponent { show = true; - items = ["breakfast", "lunch", "dinner"]; + items = ['breakfast', 'lunch', 'dinner']; } diff --git a/system-tests/project-fixtures/angular/src/app/errors.cy.ts b/system-tests/project-fixtures/angular/src/app/errors.cy.ts index d78728ae1155..e54616ba0ad5 100644 --- a/system-tests/project-fixtures/angular/src/app/errors.cy.ts +++ b/system-tests/project-fixtures/angular/src/app/errors.cy.ts @@ -1,7 +1,6 @@ import { ErrorsComponent } from './components/errors' describe('Errors', () => { - it('error on mount', () => { cy.mount(ErrorsComponent, { componentProperties: { throwError: true } }) }) @@ -20,4 +19,4 @@ describe('Errors', () => { cy.mount(ErrorsComponent) cy.get('element-that-does-not-exist') }) -}) \ No newline at end of file +}) diff --git a/system-tests/project-fixtures/angular/src/app/zonejs-mocha-only.cy.ts b/system-tests/project-fixtures/angular/src/app/zonejs-mocha-only.cy.ts index 76b26267d7f5..92523ac4aebc 100644 --- a/system-tests/project-fixtures/angular/src/app/zonejs-mocha-only.cy.ts +++ b/system-tests/project-fixtures/angular/src/app/zonejs-mocha-only.cy.ts @@ -1,5 +1,4 @@ -import { AppComponent } from './app.component' - +/* eslint-disable mocha/no-exclusive-tests */ const ExcludedTestTitle = 'should not exist' // Validating Mocha syntax and behavior of *.only is still valid after being patched by `zone.js/testing` @@ -13,7 +12,7 @@ describe('only', () => { it(ExcludedTestTitle, () => {}) }) - + describe('describe', () => { describe.only('should exist on "describe"', () => { it('succeeds', () => {}) @@ -48,11 +47,11 @@ describe('only', () => { context.only('02 - validations', () => { const verifyNotPresent = (title: string) => { - cy.wrap(Cypress.$(window.top!.document.body)).within(() => - cy - .contains(title) - .should('not.exist') - ) + cy.wrap(Cypress.$(window.top!.document.body)).within(() => { + return cy + .contains(title) + .should('not.exist') + }) } describe('suite', () => { @@ -60,7 +59,7 @@ describe('only', () => { verifyNotPresent(ExcludedTestTitle) }) }) - + describe('describe', () => { it('should not include other test', () => { verifyNotPresent(ExcludedTestTitle) diff --git a/system-tests/project-fixtures/angular/src/app/zonejs-mocha-skip.cy.ts b/system-tests/project-fixtures/angular/src/app/zonejs-mocha-skip.cy.ts index a8a20bcae110..6ea03e53a0b1 100644 --- a/system-tests/project-fixtures/angular/src/app/zonejs-mocha-skip.cy.ts +++ b/system-tests/project-fixtures/angular/src/app/zonejs-mocha-skip.cy.ts @@ -1,4 +1,4 @@ -import { AppComponent } from './app.component' +/* eslint-disable @cypress/dev/skip-comment */ // Validating Mocha syntax and behavior of *.skip is still valid after being patched by `zone.js/testing` // Github Issue: https://github.com/cypress-io/cypress/issues/23409 @@ -9,7 +9,7 @@ describe('skip', () => { it('skipped', () => {}) }) }) - + describe('describe', () => { describe.skip('should exist on "describe"', () => { it('skipped', () => {}) @@ -37,12 +37,12 @@ describe('skip', () => { context('02 - validations', () => { const verifyWasSkipped = (title: string) => { - cy.wrap(Cypress.$(window.top!.document.body)).within(() => - cy - .contains(title) - .parents('[data-model-state="pending"]') // Find parent row with class indicating test was skipped - .should('be.visible') - ) + cy.wrap(Cypress.$(window.top!.document.body)).within(() => { + return cy + .contains(title) + .parents('[data-model-state="pending"]') // Find parent row with class indicating test was skipped + .should('be.visible') + }) } describe('suite', () => { diff --git a/system-tests/project-fixtures/next/cypress/Errors.cy.jsx b/system-tests/project-fixtures/next/cypress/Errors.cy.jsx index 4815beead6ad..80b824b9c203 100644 --- a/system-tests/project-fixtures/next/cypress/Errors.cy.jsx +++ b/system-tests/project-fixtures/next/cypress/Errors.cy.jsx @@ -1,28 +1,32 @@ import React from 'react' -import { mount } from "cypress/react" +import { mount } from 'cypress/react' describe('Errors', () => { - const Errors = (props) => { if (props.throwError) throw new Error('mount error') + return (
    - ); + ) } it('error on mount', () => { @@ -43,4 +47,4 @@ describe('Errors', () => { mount() cy.get('element-that-does-not-exist') }) -}) \ No newline at end of file +}) diff --git a/system-tests/project-fixtures/next/cypress/support/component.ts b/system-tests/project-fixtures/next/cypress/support/component.ts index f10a2bc181ad..b118bc112574 100644 --- a/system-tests/project-fixtures/next/cypress/support/component.ts +++ b/system-tests/project-fixtures/next/cypress/support/component.ts @@ -1,4 +1,4 @@ // Importing global styles fails with Next.js due to restrictions on style imports. // We modify the Next Webpack config to allow importing global styles. import '../../styles/globals.css' -import '../../styles/Home.module.css' \ No newline at end of file +import '../../styles/Home.module.css' diff --git a/system-tests/project-fixtures/react/cypress-vite-dev-server-function.config.ts b/system-tests/project-fixtures/react/cypress-vite-dev-server-function.config.ts index 187970fade0f..c60938a3ef75 100644 --- a/system-tests/project-fixtures/react/cypress-vite-dev-server-function.config.ts +++ b/system-tests/project-fixtures/react/cypress-vite-dev-server-function.config.ts @@ -1,13 +1,15 @@ import { defineConfig } from 'cypress' import defaultConfig from './cypress-vite.config' -import {devServer as cypressViteDevServer} from '@cypress/vite-dev-server' +import { devServer as cypressViteDevServer } from '@cypress/vite-dev-server' export default defineConfig({ ...defaultConfig, component: { - devServer: (devServerOptions) => cypressViteDevServer({ - ...devServerOptions, - framework: 'react' - }) - } + devServer: (devServerOptions) => { + return cypressViteDevServer({ + ...devServerOptions, + framework: 'react', + }) + }, + }, }) diff --git a/system-tests/project-fixtures/react/cypress-vite-no-support.config.ts b/system-tests/project-fixtures/react/cypress-vite-no-support.config.ts index e6773636a0ae..4ce6cac39c00 100644 --- a/system-tests/project-fixtures/react/cypress-vite-no-support.config.ts +++ b/system-tests/project-fixtures/react/cypress-vite-no-support.config.ts @@ -5,6 +5,6 @@ export default defineConfig({ ...defaultConfig, component: { ...defaultConfig.component as Cypress.Config['component'], - supportFile: false - } + supportFile: false, + }, }) diff --git a/system-tests/project-fixtures/react/cypress-vite-port-in-use.config.ts b/system-tests/project-fixtures/react/cypress-vite-port-in-use.config.ts index 92a89e58aff5..0bd1ffcbd663 100644 --- a/system-tests/project-fixtures/react/cypress-vite-port-in-use.config.ts +++ b/system-tests/project-fixtures/react/cypress-vite-port-in-use.config.ts @@ -11,12 +11,12 @@ export default defineConfig({ bundler: 'vite', viteConfig: { server: { - port: 3000 - } + port: 3000, + }, }, }, - async setupNodeEvents() { + async setupNodeEvents () { await new Promise((res) => http.createServer().listen(3000, '127.0.0.1', res)) - } - } + }, + }, }) diff --git a/system-tests/project-fixtures/react/cypress-vite.config.ts b/system-tests/project-fixtures/react/cypress-vite.config.ts index c646451e75a2..3f1f270a1d38 100644 --- a/system-tests/project-fixtures/react/cypress-vite.config.ts +++ b/system-tests/project-fixtures/react/cypress-vite.config.ts @@ -1,7 +1,6 @@ import { defineConfig } from 'cypress' import type * as vite from 'vite' - declare global { namespace Cypress { interface DefineDevServerConfig { @@ -19,5 +18,5 @@ export default defineConfig({ }, // These tests should run quickly / fail quickly, // since we intentionally causing error states for testing - defaultCommandTimeout: 1000 + defaultCommandTimeout: 1000, }) diff --git a/system-tests/project-fixtures/react/cypress-webpack-dev-server-async-config.config.ts b/system-tests/project-fixtures/react/cypress-webpack-dev-server-async-config.config.ts index 027e515b2077..39f37bd442c3 100644 --- a/system-tests/project-fixtures/react/cypress-webpack-dev-server-async-config.config.ts +++ b/system-tests/project-fixtures/react/cypress-webpack-dev-server-async-config.config.ts @@ -11,6 +11,7 @@ export default defineConfig({ console.log(baseConfig) fs.writeFileSync(path.join(__dirname, 'wrote-to-file'), 'OK') const cfg = await import('./webpack.config.js') + return cfg.default }, }, diff --git a/system-tests/project-fixtures/react/cypress-webpack-dev-server-function.config.ts b/system-tests/project-fixtures/react/cypress-webpack-dev-server-function.config.ts index 3db3c8823181..a7cd6de8ebaa 100644 --- a/system-tests/project-fixtures/react/cypress-webpack-dev-server-function.config.ts +++ b/system-tests/project-fixtures/react/cypress-webpack-dev-server-function.config.ts @@ -5,10 +5,12 @@ import { devServer as cypressWebpackDevServer } from '@cypress/webpack-dev-serve export default defineConfig({ ...defaultConfig, component: { - devServer: (devServerOptions) => cypressWebpackDevServer({ - ...devServerOptions, - framework: 'react', - }), - supportFile: false - } -}) \ No newline at end of file + devServer: (devServerOptions) => { + return cypressWebpackDevServer({ + ...devServerOptions, + framework: 'react', + }) + }, + supportFile: false, + }, +}) diff --git a/system-tests/project-fixtures/react/cypress-webpack-no-support.config.ts b/system-tests/project-fixtures/react/cypress-webpack-no-support.config.ts index 97a41f653d6d..9d84cb2bec16 100644 --- a/system-tests/project-fixtures/react/cypress-webpack-no-support.config.ts +++ b/system-tests/project-fixtures/react/cypress-webpack-no-support.config.ts @@ -5,6 +5,6 @@ export default defineConfig({ ...defaultConfig, component: { ...defaultConfig.component as Cypress.Config['component'], - supportFile: false - } + supportFile: false, + }, }) diff --git a/system-tests/project-fixtures/react/cypress-webpack.config.ts b/system-tests/project-fixtures/react/cypress-webpack.config.ts index 2510a73a8a79..2fa2b39585fe 100644 --- a/system-tests/project-fixtures/react/cypress-webpack.config.ts +++ b/system-tests/project-fixtures/react/cypress-webpack.config.ts @@ -19,11 +19,11 @@ export default defineConfig({ bundler: 'webpack', webpackConfig: { ...require('./webpack.config.js'), - stats: 'minimal' + stats: 'minimal', }, }, }, // These tests should run quickly / fail quickly, // since we intentionally causing error states for testing - defaultCommandTimeout: 1000 + defaultCommandTimeout: 1000, }) diff --git a/system-tests/project-fixtures/react/src/App.jsx b/system-tests/project-fixtures/react/src/App.jsx index f6c93ff2b8f5..b2a10f0da03f 100644 --- a/system-tests/project-fixtures/react/src/App.jsx +++ b/system-tests/project-fixtures/react/src/App.jsx @@ -3,4 +3,3 @@ import React from 'react' export const App = () => { return

    Hello World

    } - diff --git a/system-tests/project-fixtures/react/src/Errors.cy.jsx b/system-tests/project-fixtures/react/src/Errors.cy.jsx index cfc17df68695..61e6e89e7164 100644 --- a/system-tests/project-fixtures/react/src/Errors.cy.jsx +++ b/system-tests/project-fixtures/react/src/Errors.cy.jsx @@ -1,27 +1,31 @@ import React from 'react' describe('Errors', () => { - const Errors = (props) => { if (props.throwError) throw new Error('mount error') + return (
    - ); + ) } it('error on mount', () => { @@ -42,4 +46,4 @@ describe('Errors', () => { cy.mount() cy.get('element-that-does-not-exist') }) -}) \ No newline at end of file +}) diff --git a/system-tests/project-fixtures/react/src/MissingReact.jsx b/system-tests/project-fixtures/react/src/MissingReact.jsx index e4ca66dba96d..c2a1bb6d0044 100644 --- a/system-tests/project-fixtures/react/src/MissingReact.jsx +++ b/system-tests/project-fixtures/react/src/MissingReact.jsx @@ -1,3 +1,3 @@ export const MissingReact = () => { return

    Missing React

    -} \ No newline at end of file +} diff --git a/system-tests/project-fixtures/react/src/Rerendering.cy.jsx b/system-tests/project-fixtures/react/src/Rerendering.cy.jsx index cbaaf04aba19..35095b2a52c0 100644 --- a/system-tests/project-fixtures/react/src/Rerendering.cy.jsx +++ b/system-tests/project-fixtures/react/src/Rerendering.cy.jsx @@ -1,27 +1,28 @@ -import React from 'react'; +import React from 'react' function StatefulComponent ({ foo }) { - const [bar, setBar] = React.useState(0); + const [bar, setBar] = React.useState(0) + return ( - ); -}; + ) +} describe('re-render', () => { it('maintains component state across re-renders', () => { cy.mount().then(({ rerender }) => { - cy.get('button').should('have.text', 'baz 0'); - cy.get('button').click().should('have.text', 'baz 1'); + cy.get('button').should('have.text', 'baz 0') + cy.get('button').click().should('have.text', 'baz 1') rerender() // The button should still show 1 after re-render - cy.get('button').should('have.text', 'baz 1'); - }); - }); -}); + cy.get('button').should('have.text', 'baz 1') + }) + }) +}) diff --git a/system-tests/project-fixtures/react/src/Unmount.cy.jsx b/system-tests/project-fixtures/react/src/Unmount.cy.jsx index 7eb043dc9b0c..d2f314234733 100644 --- a/system-tests/project-fixtures/react/src/Unmount.cy.jsx +++ b/system-tests/project-fixtures/react/src/Unmount.cy.jsx @@ -32,10 +32,10 @@ describe('mount cleanup', () => { cy.contains('My Component').should('not.exist') }) - for (const num of [1,2]) { + for (const num of [1, 2]) { it(`mount ${num}`, () => { cy.mount( {}} />) cy.contains('My component') }) } -}) \ No newline at end of file +}) diff --git a/system-tests/project-fixtures/react/src/mount.cy.jsx b/system-tests/project-fixtures/react/src/mount.cy.jsx index 42d9c975f651..97e7a2b54c62 100644 --- a/system-tests/project-fixtures/react/src/mount.cy.jsx +++ b/system-tests/project-fixtures/react/src/mount.cy.jsx @@ -8,11 +8,11 @@ describe('mount', () => { context('teardown', () => { beforeEach(() => { cy.get('[data-cy-root]').children().should('have.length', 0) - }); + }) it('should mount', () => { cy.mount() - }); + }) it('should remove previous mounted component', () => { cy.mount() @@ -23,7 +23,7 @@ describe('mount', () => { cy.contains('Render 1').should('not.exist') cy.get('[data-cy-root]').children().should('have.length', 1) }) - }); + }) it('does not error when rendering primitives', () => { cy.mount('Hello World') @@ -31,4 +31,4 @@ describe('mount', () => { cy.mount(null) cy.mount(undefined) }) -}) \ No newline at end of file +}) diff --git a/system-tests/projects/coffee-react-interop/lib/dom.jsx b/system-tests/projects/coffee-react-interop/lib/dom.jsx index 3cdd4c344583..43028e9b89a7 100644 --- a/system-tests/projects/coffee-react-interop/lib/dom.jsx +++ b/system-tests/projects/coffee-react-interop/lib/dom.jsx @@ -1,5 +1,5 @@ -import React from "react"; +import React from 'react'
    -export default "dom" \ No newline at end of file +export default 'dom' diff --git a/system-tests/projects/cra-ejected/config/env.js b/system-tests/projects/cra-ejected/config/env.js index ffa7e496aacd..f78bb1faef54 100644 --- a/system-tests/projects/cra-ejected/config/env.js +++ b/system-tests/projects/cra-ejected/config/env.js @@ -1,17 +1,18 @@ -'use strict'; +'use strict' -const fs = require('fs'); -const path = require('path'); -const paths = require('./paths'); +const fs = require('fs') +const path = require('path') +const paths = require('./paths') // Make sure that including paths.js after env.js will read .env variables. -delete require.cache[require.resolve('./paths')]; +delete require.cache[require.resolve('./paths')] + +const NODE_ENV = process.env.NODE_ENV -const NODE_ENV = process.env.NODE_ENV; if (!NODE_ENV) { throw new Error( - 'The NODE_ENV environment variable is required but was not specified.' - ); + 'The NODE_ENV environment variable is required but was not specified.', + ) } // https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use @@ -23,22 +24,22 @@ const dotenvFiles = [ NODE_ENV !== 'test' && `${paths.dotenv}.local`, `${paths.dotenv}.${NODE_ENV}`, paths.dotenv, -].filter(Boolean); +].filter(Boolean) // Load environment variables from .env* files. Suppress warnings using silent // if this file is missing. dotenv will never modify any environment variables // that have already been set. Variable expansion is supported in .env files. // https://github.com/motdotla/dotenv // https://github.com/motdotla/dotenv-expand -dotenvFiles.forEach(dotenvFile => { +dotenvFiles.forEach((dotenvFile) => { if (fs.existsSync(dotenvFile)) { require('dotenv-expand')( require('dotenv').config({ path: dotenvFile, - }) - ); + }), + ) } -}); +}) // We support resolving modules according to `NODE_PATH`. // This lets you use absolute paths in imports inside large monorepos: @@ -49,56 +50,59 @@ dotenvFiles.forEach(dotenvFile => { // Otherwise, we risk importing Node.js core modules into an app instead of webpack shims. // https://github.com/facebook/create-react-app/issues/1023#issuecomment-265344421 // We also resolve them to make sure all tools using them work consistently. -const appDirectory = fs.realpathSync(process.cwd()); +const appDirectory = fs.realpathSync(process.cwd()) + process.env.NODE_PATH = (process.env.NODE_PATH || '') - .split(path.delimiter) - .filter(folder => folder && !path.isAbsolute(folder)) - .map(folder => path.resolve(appDirectory, folder)) - .join(path.delimiter); +.split(path.delimiter) +.filter((folder) => folder && !path.isAbsolute(folder)) +.map((folder) => path.resolve(appDirectory, folder)) +.join(path.delimiter) // Grab NODE_ENV and REACT_APP_* environment variables and prepare them to be // injected into the application via DefinePlugin in webpack configuration. -const REACT_APP = /^REACT_APP_/i; +const REACT_APP = /^REACT_APP_/i -function getClientEnvironment(publicUrl) { +function getClientEnvironment (publicUrl) { const raw = Object.keys(process.env) - .filter(key => REACT_APP.test(key)) - .reduce( - (env, key) => { - env[key] = process.env[key]; - return env; - }, - { - // Useful for determining whether we’re running in production mode. - // Most importantly, it switches React into the correct mode. - NODE_ENV: process.env.NODE_ENV || 'development', - // Useful for resolving the correct path to static assets in `public`. - // For example, . - // This should only be used as an escape hatch. Normally you would put - // images into the `src` and `import` them in code to get their paths. - PUBLIC_URL: publicUrl, - // We support configuring the sockjs pathname during development. - // These settings let a developer run multiple simultaneous projects. - // They are used as the connection `hostname`, `pathname` and `port` - // in webpackHotDevClient. They are used as the `sockHost`, `sockPath` - // and `sockPort` options in webpack-dev-server. - WDS_SOCKET_HOST: process.env.WDS_SOCKET_HOST, - WDS_SOCKET_PATH: process.env.WDS_SOCKET_PATH, - WDS_SOCKET_PORT: process.env.WDS_SOCKET_PORT, - // Whether or not react-refresh is enabled. - // It is defined here so it is available in the webpackHotDevClient. - FAST_REFRESH: process.env.FAST_REFRESH !== 'false', - } - ); + .filter((key) => REACT_APP.test(key)) + .reduce( + (env, key) => { + env[key] = process.env[key] + + return env + }, + { + // Useful for determining whether we’re running in production mode. + // Most importantly, it switches React into the correct mode. + NODE_ENV: process.env.NODE_ENV || 'development', + // Useful for resolving the correct path to static assets in `public`. + // For example, . + // This should only be used as an escape hatch. Normally you would put + // images into the `src` and `import` them in code to get their paths. + PUBLIC_URL: publicUrl, + // We support configuring the sockjs pathname during development. + // These settings let a developer run multiple simultaneous projects. + // They are used as the connection `hostname`, `pathname` and `port` + // in webpackHotDevClient. They are used as the `sockHost`, `sockPath` + // and `sockPort` options in webpack-dev-server. + WDS_SOCKET_HOST: process.env.WDS_SOCKET_HOST, + WDS_SOCKET_PATH: process.env.WDS_SOCKET_PATH, + WDS_SOCKET_PORT: process.env.WDS_SOCKET_PORT, + // Whether or not react-refresh is enabled. + // It is defined here so it is available in the webpackHotDevClient. + FAST_REFRESH: process.env.FAST_REFRESH !== 'false', + }, + ) // Stringify all values so we can feed into webpack DefinePlugin const stringified = { 'process.env': Object.keys(raw).reduce((env, key) => { - env[key] = JSON.stringify(raw[key]); - return env; + env[key] = JSON.stringify(raw[key]) + + return env }, {}), - }; + } - return { raw, stringified }; + return { raw, stringified } } -module.exports = getClientEnvironment; +module.exports = getClientEnvironment diff --git a/system-tests/projects/cra-ejected/config/getHttpsConfig.js b/system-tests/projects/cra-ejected/config/getHttpsConfig.js index 013d493c1bbe..c83b9052a02b 100644 --- a/system-tests/projects/cra-ejected/config/getHttpsConfig.js +++ b/system-tests/projects/cra-ejected/config/getHttpsConfig.js @@ -1,66 +1,70 @@ -'use strict'; +'use strict' -const fs = require('fs'); -const path = require('path'); -const crypto = require('crypto'); -const chalk = require('react-dev-utils/chalk'); -const paths = require('./paths'); +const fs = require('fs') +const path = require('path') +const crypto = require('crypto') +const chalk = require('react-dev-utils/chalk') +const paths = require('./paths') // Ensure the certificate and key provided are valid and if not // throw an easy to debug error -function validateKeyAndCerts({ cert, key, keyFile, crtFile }) { - let encrypted; +function validateKeyAndCerts ({ cert, key, keyFile, crtFile }) { + let encrypted + try { // publicEncrypt will throw an error with an invalid cert - encrypted = crypto.publicEncrypt(cert, Buffer.from('test')); + encrypted = crypto.publicEncrypt(cert, Buffer.from('test')) } catch (err) { throw new Error( - `The certificate "${chalk.yellow(crtFile)}" is invalid.\n${err.message}` - ); + `The certificate "${chalk.yellow(crtFile)}" is invalid.\n${err.message}`, + ) } try { // privateDecrypt will throw an error with an invalid key - crypto.privateDecrypt(key, encrypted); + crypto.privateDecrypt(key, encrypted) } catch (err) { throw new Error( `The certificate key "${chalk.yellow(keyFile)}" is invalid.\n${ err.message - }` - ); + }`, + ) } } // Read file and throw an error if it doesn't exist -function readEnvFile(file, type) { +function readEnvFile (file, type) { if (!fs.existsSync(file)) { throw new Error( `You specified ${chalk.cyan( - type - )} in your env, but the file "${chalk.yellow(file)}" can't be found.` - ); + type, + )} in your env, but the file "${chalk.yellow(file)}" can't be found.`, + ) } - return fs.readFileSync(file); + + return fs.readFileSync(file) } // Get the https config // Return cert files if provided in env, otherwise just true or false -function getHttpsConfig() { - const { SSL_CRT_FILE, SSL_KEY_FILE, HTTPS } = process.env; - const isHttps = HTTPS === 'true'; +function getHttpsConfig () { + const { SSL_CRT_FILE, SSL_KEY_FILE, HTTPS } = process.env + const isHttps = HTTPS === 'true' if (isHttps && SSL_CRT_FILE && SSL_KEY_FILE) { - const crtFile = path.resolve(paths.appPath, SSL_CRT_FILE); - const keyFile = path.resolve(paths.appPath, SSL_KEY_FILE); + const crtFile = path.resolve(paths.appPath, SSL_CRT_FILE) + const keyFile = path.resolve(paths.appPath, SSL_KEY_FILE) const config = { cert: readEnvFile(crtFile, 'SSL_CRT_FILE'), key: readEnvFile(keyFile, 'SSL_KEY_FILE'), - }; + } - validateKeyAndCerts({ ...config, keyFile, crtFile }); - return config; + validateKeyAndCerts({ ...config, keyFile, crtFile }) + + return config } - return isHttps; + + return isHttps } -module.exports = getHttpsConfig; +module.exports = getHttpsConfig diff --git a/system-tests/projects/cra-ejected/config/modules.js b/system-tests/projects/cra-ejected/config/modules.js index d63e41d78dc7..8d92bb2545fb 100644 --- a/system-tests/projects/cra-ejected/config/modules.js +++ b/system-tests/projects/cra-ejected/config/modules.js @@ -1,34 +1,34 @@ -'use strict'; +'use strict' -const fs = require('fs'); -const path = require('path'); -const paths = require('./paths'); -const chalk = require('react-dev-utils/chalk'); -const resolve = require('resolve'); +const fs = require('fs') +const path = require('path') +const paths = require('./paths') +const chalk = require('react-dev-utils/chalk') +const resolve = require('resolve') /** * Get additional module paths based on the baseUrl of a compilerOptions object. * * @param {Object} options */ -function getAdditionalModulePaths(options = {}) { - const baseUrl = options.baseUrl; +function getAdditionalModulePaths (options = {}) { + const baseUrl = options.baseUrl if (!baseUrl) { - return ''; + return '' } - const baseUrlResolved = path.resolve(paths.appPath, baseUrl); + const baseUrlResolved = path.resolve(paths.appPath, baseUrl) // We don't need to do anything if `baseUrl` is set to `node_modules`. This is // the default behavior. if (path.relative(paths.appNodeModules, baseUrlResolved) === '') { - return null; + return null } // Allow the user set the `baseUrl` to `appSrc`. if (path.relative(paths.appSrc, baseUrlResolved) === '') { - return [paths.appSrc]; + return [paths.appSrc] } // If the path is equal to the root directory we ignore it here. @@ -37,16 +37,16 @@ function getAdditionalModulePaths(options = {}) { // absolute path (e.g. `src/Components/Button.js`) but we set that up with // an alias. if (path.relative(paths.appPath, baseUrlResolved) === '') { - return null; + return null } // Otherwise, throw an error. throw new Error( chalk.red.bold( - "Your project's `baseUrl` can only be set to `src` or `node_modules`." + - ' Create React App does not support other values at this time.' - ) - ); + 'Your project\'s `baseUrl` can only be set to `src` or `node_modules`.' + + ' Create React App does not support other values at this time.', + ), + ) } /** @@ -54,19 +54,19 @@ function getAdditionalModulePaths(options = {}) { * * @param {*} options */ -function getWebpackAliases(options = {}) { - const baseUrl = options.baseUrl; +function getWebpackAliases (options = {}) { + const baseUrl = options.baseUrl if (!baseUrl) { - return {}; + return {} } - const baseUrlResolved = path.resolve(paths.appPath, baseUrl); + const baseUrlResolved = path.resolve(paths.appPath, baseUrl) if (path.relative(paths.appPath, baseUrlResolved) === '') { return { src: paths.appSrc, - }; + } } } @@ -75,34 +75,34 @@ function getWebpackAliases(options = {}) { * * @param {*} options */ -function getJestAliases(options = {}) { - const baseUrl = options.baseUrl; +function getJestAliases (options = {}) { + const baseUrl = options.baseUrl if (!baseUrl) { - return {}; + return {} } - const baseUrlResolved = path.resolve(paths.appPath, baseUrl); + const baseUrlResolved = path.resolve(paths.appPath, baseUrl) if (path.relative(paths.appPath, baseUrlResolved) === '') { return { '^src/(.*)$': '/src/$1', - }; + } } } -function getModules() { +function getModules () { // Check if TypeScript is setup - const hasTsConfig = fs.existsSync(paths.appTsConfig); - const hasJsConfig = fs.existsSync(paths.appJsConfig); + const hasTsConfig = fs.existsSync(paths.appTsConfig) + const hasJsConfig = fs.existsSync(paths.appJsConfig) if (hasTsConfig && hasJsConfig) { throw new Error( - 'You have both a tsconfig.json and a jsconfig.json. If you are using TypeScript please remove your jsconfig.json file.' - ); + 'You have both a tsconfig.json and a jsconfig.json. If you are using TypeScript please remove your jsconfig.json file.', + ) } - let config; + let config // If there's a tsconfig.json we assume it's a // TypeScript project and set up the config @@ -110,25 +110,26 @@ function getModules() { if (hasTsConfig) { const ts = require(resolve.sync('typescript', { basedir: paths.appNodeModules, - })); - config = ts.readConfigFile(paths.appTsConfig, ts.sys.readFile).config; + })) + + config = ts.readConfigFile(paths.appTsConfig, ts.sys.readFile).config // Otherwise we'll check if there is jsconfig.json // for non TS projects. } else if (hasJsConfig) { - config = require(paths.appJsConfig); + config = require(paths.appJsConfig) } - config = config || {}; - const options = config.compilerOptions || {}; + config = config || {} + const options = config.compilerOptions || {} - const additionalModulePaths = getAdditionalModulePaths(options); + const additionalModulePaths = getAdditionalModulePaths(options) return { - additionalModulePaths: additionalModulePaths, + additionalModulePaths, webpackAliases: getWebpackAliases(options), jestAliases: getJestAliases(options), hasTsConfig, - }; + } } -module.exports = getModules(); +module.exports = getModules() diff --git a/system-tests/projects/cra-ejected/config/paths.js b/system-tests/projects/cra-ejected/config/paths.js index f0a6cd9c986e..f015ea634666 100644 --- a/system-tests/projects/cra-ejected/config/paths.js +++ b/system-tests/projects/cra-ejected/config/paths.js @@ -1,13 +1,13 @@ -'use strict'; +'use strict' -const path = require('path'); -const fs = require('fs'); -const getPublicUrlOrPath = require('react-dev-utils/getPublicUrlOrPath'); +const path = require('path') +const fs = require('fs') +const getPublicUrlOrPath = require('react-dev-utils/getPublicUrlOrPath') // Make sure any symlinks in the project folder are resolved: // https://github.com/facebook/create-react-app/issues/637 -const appDirectory = fs.realpathSync(process.cwd()); -const resolveApp = relativePath => path.resolve(appDirectory, relativePath); +const appDirectory = fs.realpathSync(process.cwd()) +const resolveApp = (relativePath) => path.resolve(appDirectory, relativePath) // We use `PUBLIC_URL` environment variable or "homepage" field to infer // "public path" at which the app is served. @@ -18,10 +18,10 @@ const resolveApp = relativePath => path.resolve(appDirectory, relativePath); const publicUrlOrPath = getPublicUrlOrPath( process.env.NODE_ENV === 'development', require(resolveApp('package.json')).homepage, - process.env.PUBLIC_URL -); + process.env.PUBLIC_URL, +) -const buildPath = process.env.BUILD_PATH || 'build'; +const buildPath = process.env.BUILD_PATH || 'build' const moduleFileExtensions = [ 'web.mjs', @@ -35,20 +35,20 @@ const moduleFileExtensions = [ 'json', 'web.jsx', 'jsx', -]; +] // Resolve file paths in the same order as webpack const resolveModule = (resolveFn, filePath) => { - const extension = moduleFileExtensions.find(extension => - fs.existsSync(resolveFn(`${filePath}.${extension}`)) - ); + const extension = moduleFileExtensions.find((extension) => { + return fs.existsSync(resolveFn(`${filePath}.${extension}`)) + }) if (extension) { - return resolveFn(`${filePath}.${extension}`); + return resolveFn(`${filePath}.${extension}`) } - return resolveFn(`${filePath}.js`); -}; + return resolveFn(`${filePath}.js`) +} // config after eject: we're in ./config/ module.exports = { @@ -70,8 +70,6 @@ module.exports = { appTsBuildInfoFile: resolveApp('node_modules/.cache/tsconfig.tsbuildinfo'), swSrc: resolveModule(resolveApp, 'src/service-worker'), publicUrlOrPath, -}; +} - - -module.exports.moduleFileExtensions = moduleFileExtensions; +module.exports.moduleFileExtensions = moduleFileExtensions diff --git a/system-tests/projects/cra-ejected/config/webpack.config.js b/system-tests/projects/cra-ejected/config/webpack.config.js index 6b4a4cdacf79..91f478ac087d 100644 --- a/system-tests/projects/cra-ejected/config/webpack.config.js +++ b/system-tests/projects/cra-ejected/config/webpack.config.js @@ -1,108 +1,109 @@ -'use strict'; +'use strict' -const fs = require('fs'); -const path = require('path'); -const webpack = require('webpack'); -const resolve = require('resolve'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin'); -const InlineChunkHtmlPlugin = require('react-dev-utils/InlineChunkHtmlPlugin'); -const TerserPlugin = require('terser-webpack-plugin'); -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); -const { WebpackManifestPlugin } = require('webpack-manifest-plugin'); -const InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin'); -const WorkboxWebpackPlugin = require('workbox-webpack-plugin'); -const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin'); -const getCSSModuleLocalIdent = require('react-dev-utils/getCSSModuleLocalIdent'); -const ESLintPlugin = require('eslint-webpack-plugin'); -const paths = require('./paths'); -const modules = require('./modules'); -const getClientEnvironment = require('./env'); -const ModuleNotFoundPlugin = require('react-dev-utils/ModuleNotFoundPlugin'); +const fs = require('fs') +const path = require('path') +const webpack = require('webpack') +const resolve = require('resolve') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin') +const InlineChunkHtmlPlugin = require('react-dev-utils/InlineChunkHtmlPlugin') +const TerserPlugin = require('terser-webpack-plugin') +const MiniCssExtractPlugin = require('mini-css-extract-plugin') +const CssMinimizerPlugin = require('css-minimizer-webpack-plugin') +const { WebpackManifestPlugin } = require('webpack-manifest-plugin') +const InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin') +const WorkboxWebpackPlugin = require('workbox-webpack-plugin') +const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin') +const getCSSModuleLocalIdent = require('react-dev-utils/getCSSModuleLocalIdent') +const ESLintPlugin = require('eslint-webpack-plugin') +const paths = require('./paths') +const modules = require('./modules') +const getClientEnvironment = require('./env') +const ModuleNotFoundPlugin = require('react-dev-utils/ModuleNotFoundPlugin') const ForkTsCheckerWebpackPlugin = process.env.TSC_COMPILE_ON_ERROR === 'true' ? require('react-dev-utils/ForkTsCheckerWarningWebpackPlugin') - : require('react-dev-utils/ForkTsCheckerWebpackPlugin'); -const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin'); + : require('react-dev-utils/ForkTsCheckerWebpackPlugin') +const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin') -const createEnvironmentHash = require('./webpack/persistentCache/createEnvironmentHash'); +const createEnvironmentHash = require('./webpack/persistentCache/createEnvironmentHash') // Source maps are resource heavy and can cause out of memory issue for large source files. -const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false'; +const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false' -const reactRefreshRuntimeEntry = require.resolve('react-refresh/runtime'); +const reactRefreshRuntimeEntry = require.resolve('react-refresh/runtime') const reactRefreshWebpackPluginRuntimeEntry = require.resolve( - '@pmmmwh/react-refresh-webpack-plugin' -); -const babelRuntimeEntry = require.resolve('babel-preset-react-app'); + '@pmmmwh/react-refresh-webpack-plugin', +) +const babelRuntimeEntry = require.resolve('babel-preset-react-app') const babelRuntimeEntryHelpers = require.resolve( '@babel/runtime/helpers/esm/assertThisInitialized', - { paths: [babelRuntimeEntry] } -); + { paths: [babelRuntimeEntry] }, +) const babelRuntimeRegenerator = require.resolve('@babel/runtime/regenerator', { paths: [babelRuntimeEntry], -}); +}) // Some apps do not need the benefits of saving a web request, so not inlining the chunk // makes for a smoother build process. -const shouldInlineRuntimeChunk = process.env.INLINE_RUNTIME_CHUNK !== 'false'; +const shouldInlineRuntimeChunk = process.env.INLINE_RUNTIME_CHUNK !== 'false' -const emitErrorsAsWarnings = process.env.ESLINT_NO_DEV_ERRORS === 'true'; -const disableESLintPlugin = process.env.DISABLE_ESLINT_PLUGIN === 'true'; +const emitErrorsAsWarnings = process.env.ESLINT_NO_DEV_ERRORS === 'true' +const disableESLintPlugin = process.env.DISABLE_ESLINT_PLUGIN === 'true' const imageInlineSizeLimit = parseInt( - process.env.IMAGE_INLINE_SIZE_LIMIT || '10000' -); + process.env.IMAGE_INLINE_SIZE_LIMIT || '10000', +) // Check if TypeScript is setup -const useTypeScript = fs.existsSync(paths.appTsConfig); +const useTypeScript = fs.existsSync(paths.appTsConfig) // Check if Tailwind config exists const useTailwind = fs.existsSync( - path.join(paths.appPath, 'tailwind.config.js') -); + path.join(paths.appPath, 'tailwind.config.js'), +) // Get the path to the uncompiled service worker (if it exists). -const swSrc = paths.swSrc; +const swSrc = paths.swSrc // style files regexes -const cssRegex = /\.css$/; -const cssModuleRegex = /\.module\.css$/; -const sassRegex = /\.(scss|sass)$/; -const sassModuleRegex = /\.module\.(scss|sass)$/; +const cssRegex = /\.css$/ +const cssModuleRegex = /\.module\.css$/ +const sassRegex = /\.(scss|sass)$/ +const sassModuleRegex = /\.module\.(scss|sass)$/ const hasJsxRuntime = (() => { if (process.env.DISABLE_NEW_JSX_TRANSFORM === 'true') { - return false; + return false } try { - require.resolve('react/jsx-runtime'); - return true; + require.resolve('react/jsx-runtime') + + return true } catch (e) { - return false; + return false } -})(); +})() // This is the production and development configuration. // It is focused on developer experience, fast rebuilds, and a minimal bundle. module.exports = function (webpackEnv) { - const isEnvDevelopment = webpackEnv === 'development'; - const isEnvProduction = webpackEnv === 'production'; + const isEnvDevelopment = webpackEnv === 'development' + const isEnvProduction = webpackEnv === 'production' // Variable used for enabling profiling in Production // passed into alias object. Uses a flag if passed into the build command const isEnvProductionProfile = - isEnvProduction && process.argv.includes('--profile'); + isEnvProduction && process.argv.includes('--profile') // We will provide `paths.publicUrlOrPath` to our app // as %PUBLIC_URL% in `index.html` and `process.env.PUBLIC_URL` in JavaScript. // Omit trailing slash as %PUBLIC_URL%/xyz looks better than %PUBLIC_URL%xyz. // Get environment variables to inject into our app. - const env = getClientEnvironment(paths.publicUrlOrPath.slice(0, -1)); + const env = getClientEnvironment(paths.publicUrlOrPath.slice(0, -1)) - const shouldUseReactRefresh = env.raw.FAST_REFRESH; + const shouldUseReactRefresh = env.raw.FAST_REFRESH // common function to get style loaders const getStyleLoaders = (cssOptions, preProcessor) => { @@ -133,39 +134,40 @@ module.exports = function (webpackEnv) { config: false, plugins: !useTailwind ? [ - 'postcss-flexbugs-fixes', - [ - 'postcss-preset-env', - { - autoprefixer: { - flexbox: 'no-2009', - }, - stage: 3, + 'postcss-flexbugs-fixes', + [ + 'postcss-preset-env', + { + autoprefixer: { + flexbox: 'no-2009', }, - ], - // Adds PostCSS Normalize as the reset css with default options, - // so that it honors browserslist config in package.json - // which in turn let's users customize the target behavior as per their needs. - 'postcss-normalize', - ] + stage: 3, + }, + ], + // Adds PostCSS Normalize as the reset css with default options, + // so that it honors browserslist config in package.json + // which in turn let's users customize the target behavior as per their needs. + 'postcss-normalize', + ] : [ - 'tailwindcss', - 'postcss-flexbugs-fixes', - [ - 'postcss-preset-env', - { - autoprefixer: { - flexbox: 'no-2009', - }, - stage: 3, + 'tailwindcss', + 'postcss-flexbugs-fixes', + [ + 'postcss-preset-env', + { + autoprefixer: { + flexbox: 'no-2009', }, - ], + stage: 3, + }, ], + ], }, sourceMap: isEnvProduction ? shouldUseSourceMap : isEnvDevelopment, }, }, - ].filter(Boolean); + ].filter(Boolean) + if (preProcessor) { loaders.push( { @@ -180,11 +182,12 @@ module.exports = function (webpackEnv) { options: { sourceMap: true, }, - } - ); + }, + ) } - return loaders; - }; + + return loaders + } return { target: ['browserslist'], @@ -220,12 +223,13 @@ module.exports = function (webpackEnv) { publicPath: paths.publicUrlOrPath, // Point sourcemap entries to original disk location (format as URL on Windows) devtoolModuleFilenameTemplate: isEnvProduction - ? info => - path - .relative(paths.appSrc, info.absoluteResourcePath) - .replace(/\\/g, '/') + ? (info) => { + return path + .relative(paths.appSrc, info.absoluteResourcePath) + .replace(/\\/g, '/') + } : isEnvDevelopment && - (info => path.resolve(info.absoluteResourcePath).replace(/\\/g, '/')), + ((info) => path.resolve(info.absoluteResourcePath).replace(/\\/g, '/')), }, cache: { type: 'filesystem', @@ -235,9 +239,9 @@ module.exports = function (webpackEnv) { buildDependencies: { defaultWebpack: ['webpack/lib/'], config: [__filename], - tsconfig: [paths.appTsConfig, paths.appJsConfig].filter(f => - fs.existsSync(f) - ), + tsconfig: [paths.appTsConfig, paths.appJsConfig].filter((f) => { + return fs.existsSync(f) + }), }, }, infrastructureLogging: { @@ -296,7 +300,7 @@ module.exports = function (webpackEnv) { // if there are any conflicts. This matches Node resolution mechanism. // https://github.com/facebook/create-react-app/issues/253 modules: ['node_modules', paths.appNodeModules].concat( - modules.additionalModulePaths || [] + modules.additionalModulePaths || [], ), // These are the reasonable defaults supported by the Node ecosystem. // We also include JSX as a common component filename extension to support @@ -305,8 +309,8 @@ module.exports = function (webpackEnv) { // `web` extension prefixes have been added for better support // for React Native Web. extensions: paths.moduleFileExtensions - .map(ext => `.${ext}`) - .filter(ext => useTypeScript || !ext.includes('ts')), + .map((ext) => `.${ext}`) + .filter((ext) => useTypeScript || !ext.includes('ts')), alias: { // Support React Native Web // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/ @@ -407,7 +411,7 @@ module.exports = function (webpackEnv) { loader: require.resolve('babel-loader'), options: { customize: require.resolve( - 'babel-preset-react-app/webpack-overrides' + 'babel-preset-react-app/webpack-overrides', ), presets: [ [ @@ -417,7 +421,7 @@ module.exports = function (webpackEnv) { }, ], ], - + plugins: [ isEnvDevelopment && shouldUseReactRefresh && @@ -451,7 +455,7 @@ module.exports = function (webpackEnv) { cacheDirectory: true, // See #6846 for context on why cacheCompression is disabled cacheCompression: false, - + // Babel sourcemaps are needed for debugging into node_modules // code. Without the options below, debuggers like VSCode // show incorrect code and set breakpoints on the wrong lines. @@ -515,7 +519,7 @@ module.exports = function (webpackEnv) { mode: 'icss', }, }, - 'sass-loader' + 'sass-loader', ), // Don't consider CSS imports dead code even if the // containing package claims to have no side effects. @@ -538,7 +542,7 @@ module.exports = function (webpackEnv) { getLocalIdent: getCSSModuleLocalIdent, }, }, - 'sass-loader' + 'sass-loader', ), }, // "file" loader makes sure those assets get served by WebpackDevServer. @@ -571,21 +575,21 @@ module.exports = function (webpackEnv) { }, isEnvProduction ? { - minify: { - removeComments: true, - collapseWhitespace: true, - removeRedundantAttributes: true, - useShortDoctype: true, - removeEmptyAttributes: true, - removeStyleLinkTypeAttributes: true, - keepClosingSlash: true, - minifyJS: true, - minifyCSS: true, - minifyURLs: true, - }, - } - : undefined - ) + minify: { + removeComments: true, + collapseWhitespace: true, + removeRedundantAttributes: true, + useShortDoctype: true, + removeEmptyAttributes: true, + removeStyleLinkTypeAttributes: true, + keepClosingSlash: true, + minifyJS: true, + minifyCSS: true, + minifyURLs: true, + }, + } + : undefined, + ), ), // Inlines the webpack runtime script. This script is too small to warrant // a network request. @@ -637,17 +641,18 @@ module.exports = function (webpackEnv) { publicPath: paths.publicUrlOrPath, generate: (seed, files, entrypoints) => { const manifestFiles = files.reduce((manifest, file) => { - manifest[file.name] = file.path; - return manifest; - }, seed); + manifest[file.name] = file.path + + return manifest + }, seed) const entrypointFiles = entrypoints.main.filter( - fileName => !fileName.endsWith('.map') - ); + (fileName) => !fileName.endsWith('.map'), + ) return { files: manifestFiles, entrypoints: entrypointFiles, - }; + } }, }), // Moment.js is an extremely popular library that bundles large locale files @@ -731,7 +736,7 @@ module.exports = function (webpackEnv) { cache: true, cacheLocation: path.resolve( paths.appNodeModules, - '.cache/.eslintcache' + '.cache/.eslintcache', ), // ESLint class options cwd: paths.appPath, @@ -749,5 +754,5 @@ module.exports = function (webpackEnv) { // Turn off performance processing because we utilize // our own hints via the FileSizeReporter performance: false, - }; -}; + } +} diff --git a/system-tests/projects/cra-ejected/config/webpack/persistentCache/createEnvironmentHash.js b/system-tests/projects/cra-ejected/config/webpack/persistentCache/createEnvironmentHash.js index 4487e853e18d..901bfdfcab4b 100644 --- a/system-tests/projects/cra-ejected/config/webpack/persistentCache/createEnvironmentHash.js +++ b/system-tests/projects/cra-ejected/config/webpack/persistentCache/createEnvironmentHash.js @@ -1,9 +1,10 @@ -'use strict'; -const { createHash } = require('crypto'); +'use strict' +const { createHash } = require('crypto') -module.exports = env => { - const hash = createHash('md5'); - hash.update(JSON.stringify(env)); +module.exports = (env) => { + const hash = createHash('md5') - return hash.digest('hex'); -}; + hash.update(JSON.stringify(env)) + + return hash.digest('hex') +} diff --git a/system-tests/projects/cra-ejected/config/webpackDevServer.config.js b/system-tests/projects/cra-ejected/config/webpackDevServer.config.js index 52f4edf36b91..0397e9d7f9ec 100644 --- a/system-tests/projects/cra-ejected/config/webpackDevServer.config.js +++ b/system-tests/projects/cra-ejected/config/webpackDevServer.config.js @@ -1,21 +1,22 @@ -'use strict'; +'use strict' -const fs = require('fs'); -const evalSourceMapMiddleware = require('react-dev-utils/evalSourceMapMiddleware'); -const noopServiceWorkerMiddleware = require('react-dev-utils/noopServiceWorkerMiddleware'); -const ignoredFiles = require('react-dev-utils/ignoredFiles'); -const redirectServedPath = require('react-dev-utils/redirectServedPathMiddleware'); -const paths = require('./paths'); -const getHttpsConfig = require('./getHttpsConfig'); +const fs = require('fs') +const evalSourceMapMiddleware = require('react-dev-utils/evalSourceMapMiddleware') +const noopServiceWorkerMiddleware = require('react-dev-utils/noopServiceWorkerMiddleware') +const ignoredFiles = require('react-dev-utils/ignoredFiles') +const redirectServedPath = require('react-dev-utils/redirectServedPathMiddleware') +const paths = require('./paths') +const getHttpsConfig = require('./getHttpsConfig') -const host = process.env.HOST || '0.0.0.0'; -const sockHost = process.env.WDS_SOCKET_HOST; -const sockPath = process.env.WDS_SOCKET_PATH; // default: '/ws' -const sockPort = process.env.WDS_SOCKET_PORT; +const host = process.env.HOST || '0.0.0.0' +const sockHost = process.env.WDS_SOCKET_HOST +const sockPath = process.env.WDS_SOCKET_PATH // default: '/ws' +const sockPort = process.env.WDS_SOCKET_PORT module.exports = function (proxy, allowedHost) { const disableFirewall = - !proxy || process.env.DANGEROUSLY_DISABLE_HOST_CHECK === 'true'; + !proxy || process.env.DANGEROUSLY_DISABLE_HOST_CHECK === 'true' + return { // WebpackDevServer 2.4.3 introduced a security fix that prevents remote // websites from potentially accessing local content through DNS rebinding: @@ -101,27 +102,27 @@ module.exports = function (proxy, allowedHost) { }, // `proxy` is run between `before` and `after` `webpack-dev-server` hooks proxy, - onBeforeSetupMiddleware(devServer) { + onBeforeSetupMiddleware (devServer) { // Keep `evalSourceMapMiddleware` // middlewares before `redirectServedPath` otherwise will not have any effect // This lets us fetch source contents from webpack for the error overlay - devServer.app.use(evalSourceMapMiddleware(devServer)); + devServer.app.use(evalSourceMapMiddleware(devServer)) if (fs.existsSync(paths.proxySetup)) { // This registers user provided middleware for proxy reasons - require(paths.proxySetup)(devServer.app); + require(paths.proxySetup)(devServer.app) } }, - onAfterSetupMiddleware(devServer) { + onAfterSetupMiddleware (devServer) { // Redirect to `PUBLIC_URL` or `homepage` from `package.json` if url not match - devServer.app.use(redirectServedPath(paths.publicUrlOrPath)); + devServer.app.use(redirectServedPath(paths.publicUrlOrPath)) // This service worker file is effectively a 'no-op' that will reset any // previous service worker registered for the same host:port combination. // We do this in development to avoid hitting the production cache if // it used the same host and port. // https://github.com/facebook/create-react-app/issues/2272#issuecomment-302832432 - devServer.app.use(noopServiceWorkerMiddleware(paths.publicUrlOrPath)); + devServer.app.use(noopServiceWorkerMiddleware(paths.publicUrlOrPath)) }, - }; -}; + } +} diff --git a/system-tests/projects/create-react-app-configured/src/App.test.js b/system-tests/projects/create-react-app-configured/src/App.test.js index 1f03afeece5a..0959cf743371 100644 --- a/system-tests/projects/create-react-app-configured/src/App.test.js +++ b/system-tests/projects/create-react-app-configured/src/App.test.js @@ -1,8 +1,9 @@ -import { render, screen } from '@testing-library/react'; -import App from './App'; +import { render, screen } from '@testing-library/react' +import App from './App' test('renders learn react link', () => { - render(); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); + render() + const linkElement = screen.getByText(/learn react/i) + + expect(linkElement).toBeInTheDocument() +}) diff --git a/system-tests/projects/create-react-app-configured/src/index.js b/system-tests/projects/create-react-app-configured/src/index.js index 6832e7832bb9..3992ef9741fa 100644 --- a/system-tests/projects/create-react-app-configured/src/index.js +++ b/system-tests/projects/create-react-app-configured/src/index.js @@ -1,11 +1,11 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import './index.css'; -import App from './App'; +import React from 'react' +import ReactDOM from 'react-dom' +import './index.css' +import App from './App' ReactDOM.render( , - document.getElementById('root') -); + document.getElementById('root'), +) diff --git a/system-tests/projects/create-react-app-configured/src/setupTests.js b/system-tests/projects/create-react-app-configured/src/setupTests.js index 8f2609b7b3e0..52aaef1d2452 100644 --- a/system-tests/projects/create-react-app-configured/src/setupTests.js +++ b/system-tests/projects/create-react-app-configured/src/setupTests.js @@ -2,4 +2,4 @@ // allows you to do things like: // expect(element).toHaveTextContent(/react/i) // learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; +import '@testing-library/jest-dom' diff --git a/system-tests/projects/create-react-app-custom-index-html/src/App.cy.jsx b/system-tests/projects/create-react-app-custom-index-html/src/App.cy.jsx index a24de7133311..275430570c4e 100644 --- a/system-tests/projects/create-react-app-custom-index-html/src/App.cy.jsx +++ b/system-tests/projects/create-react-app-custom-index-html/src/App.cy.jsx @@ -6,4 +6,4 @@ it('works', () => { mount() cy.contains('Learn React') cy.get('body').should('have.css', 'background-color', 'rgb(255, 0, 0)') -}) +}) diff --git a/system-tests/projects/create-react-app-custom-index-html/src/App.test.js b/system-tests/projects/create-react-app-custom-index-html/src/App.test.js index 1f03afeece5a..0959cf743371 100644 --- a/system-tests/projects/create-react-app-custom-index-html/src/App.test.js +++ b/system-tests/projects/create-react-app-custom-index-html/src/App.test.js @@ -1,8 +1,9 @@ -import { render, screen } from '@testing-library/react'; -import App from './App'; +import { render, screen } from '@testing-library/react' +import App from './App' test('renders learn react link', () => { - render(); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); + render() + const linkElement = screen.getByText(/learn react/i) + + expect(linkElement).toBeInTheDocument() +}) diff --git a/system-tests/projects/create-react-app-custom-index-html/src/index.js b/system-tests/projects/create-react-app-custom-index-html/src/index.js index 6832e7832bb9..3992ef9741fa 100644 --- a/system-tests/projects/create-react-app-custom-index-html/src/index.js +++ b/system-tests/projects/create-react-app-custom-index-html/src/index.js @@ -1,11 +1,11 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import './index.css'; -import App from './App'; +import React from 'react' +import ReactDOM from 'react-dom' +import './index.css' +import App from './App' ReactDOM.render( , - document.getElementById('root') -); + document.getElementById('root'), +) diff --git a/system-tests/projects/create-react-app-custom-index-html/src/setupTests.js b/system-tests/projects/create-react-app-custom-index-html/src/setupTests.js index 8f2609b7b3e0..52aaef1d2452 100644 --- a/system-tests/projects/create-react-app-custom-index-html/src/setupTests.js +++ b/system-tests/projects/create-react-app-custom-index-html/src/setupTests.js @@ -2,4 +2,4 @@ // allows you to do things like: // expect(element).toHaveTextContent(/react/i) // learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; +import '@testing-library/jest-dom' diff --git a/system-tests/projects/create-react-app-unconfigured/src/App.js b/system-tests/projects/create-react-app-unconfigured/src/App.js index 37845757234c..8c308860b286 100644 --- a/system-tests/projects/create-react-app-unconfigured/src/App.js +++ b/system-tests/projects/create-react-app-unconfigured/src/App.js @@ -1,7 +1,7 @@ -import logo from './logo.svg'; -import './App.css'; +import logo from './logo.svg' +import './App.css' -function App() { +function App () { return (
    @@ -19,7 +19,7 @@ function App() {
    - ); + ) } -export default App; +export default App diff --git a/system-tests/projects/create-react-app-unconfigured/src/App.test.js b/system-tests/projects/create-react-app-unconfigured/src/App.test.js index 1f03afeece5a..0959cf743371 100644 --- a/system-tests/projects/create-react-app-unconfigured/src/App.test.js +++ b/system-tests/projects/create-react-app-unconfigured/src/App.test.js @@ -1,8 +1,9 @@ -import { render, screen } from '@testing-library/react'; -import App from './App'; +import { render, screen } from '@testing-library/react' +import App from './App' test('renders learn react link', () => { - render(); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); + render() + const linkElement = screen.getByText(/learn react/i) + + expect(linkElement).toBeInTheDocument() +}) diff --git a/system-tests/projects/create-react-app-unconfigured/src/index.js b/system-tests/projects/create-react-app-unconfigured/src/index.js index c15f402930fe..3992ef9741fa 100644 --- a/system-tests/projects/create-react-app-unconfigured/src/index.js +++ b/system-tests/projects/create-react-app-unconfigured/src/index.js @@ -1,11 +1,11 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import './index.css'; -import App from './App'; +import React from 'react' +import ReactDOM from 'react-dom' +import './index.css' +import App from './App' ReactDOM.render( , - document.getElementById('root') -); \ No newline at end of file + document.getElementById('root'), +) diff --git a/system-tests/projects/create-react-app-unconfigured/src/setupTests.js b/system-tests/projects/create-react-app-unconfigured/src/setupTests.js index 8f2609b7b3e0..52aaef1d2452 100644 --- a/system-tests/projects/create-react-app-unconfigured/src/setupTests.js +++ b/system-tests/projects/create-react-app-unconfigured/src/setupTests.js @@ -2,4 +2,4 @@ // allows you to do things like: // expect(element).toHaveTextContent(/react/i) // learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; +import '@testing-library/jest-dom' diff --git a/system-tests/projects/e2e/cypress/e2e/proxying.cy.js b/system-tests/projects/e2e/cypress/e2e/proxying.cy.js index 7409d2f96702..b56f7d1bd5f9 100644 --- a/system-tests/projects/e2e/cypress/e2e/proxying.cy.js +++ b/system-tests/projects/e2e/cypress/e2e/proxying.cy.js @@ -11,7 +11,8 @@ describe('proxying', () => { const script = document.createElement('script') script.src = 'https://localhost:7878/static/simple_obstructive_code.js' - script.integrity = 'sha256-iVKZPZrzbe7YNdMKYWJ1+f74j5lD3gRFvGjqtLyji6A=' + // to regenerate: `openssl dgst -sha256 -binary **/static/simple_obstructive_code.js | openssl base64 -A` + script.integrity = 'sha256-BLwfivLJLqn8sjt9PEEXBlw6lO+DSZzFZ0rP/SWai2o=' script.crossOrigin = 'anonymous' document.head.append(script) diff --git a/system-tests/projects/e2e/lib/dom.jsx b/system-tests/projects/e2e/lib/dom.jsx index 3cdd4c344583..43028e9b89a7 100644 --- a/system-tests/projects/e2e/lib/dom.jsx +++ b/system-tests/projects/e2e/lib/dom.jsx @@ -1,5 +1,5 @@ -import React from "react"; +import React from 'react'
    -export default "dom" \ No newline at end of file +export default 'dom' diff --git a/system-tests/projects/e2e/static/fail.js b/system-tests/projects/e2e/static/fail.js index ff60a98de2ac..d9e1d891ff56 100644 --- a/system-tests/projects/e2e/static/fail.js +++ b/system-tests/projects/e2e/static/fail.js @@ -4,4 +4,4 @@ baz.quux() // test setTimeout too // setTimeout(function(){ // baz.quux2() -// }, 1000) \ No newline at end of file +// }, 1000) diff --git a/system-tests/projects/e2e/static/simple_obstructive_code.js b/system-tests/projects/e2e/static/simple_obstructive_code.js index 867d1ce67fea..186bba299c3a 100644 --- a/system-tests/projects/e2e/static/simple_obstructive_code.js +++ b/system-tests/projects/e2e/static/simple_obstructive_code.js @@ -1,3 +1,5 @@ (function () { - if (top != self) {console.log('loaded!')} + if (top !== self) { + console.log('loaded!') + } })() diff --git a/system-tests/projects/ids/cypress/e2e/dom.jsx b/system-tests/projects/ids/cypress/e2e/dom.jsx index 4909fcc8041a..346579714bfd 100644 --- a/system-tests/projects/ids/cypress/e2e/dom.jsx +++ b/system-tests/projects/ids/cypress/e2e/dom.jsx @@ -1 +1 @@ -
    \ No newline at end of file +
    diff --git a/system-tests/projects/module-api/test/failing/__snapshots__/spec.js b/system-tests/projects/module-api/test/failing/__snapshots__/spec.js index 2747314647ea..3c5e22f281f8 100644 --- a/system-tests/projects/module-api/test/failing/__snapshots__/spec.js +++ b/system-tests/projects/module-api/test/failing/__snapshots__/spec.js @@ -1,15 +1,14 @@ exports['failing test returns correct number of failing tests 1'] = { - "cypressVersion": "0.0.0", - "totalDuration": "X seconds", - "totalSuites": 2, - "totalTests": 2, - "totalFailed": 1, - "totalPassed": 1, - "totalPending": 0, - "totalSkipped": 0, - "browserName": "electron", - "browserVersion": "1.2.3", - "osName": "darwin", - "osVersion": "16.7.0" + 'cypressVersion': '0.0.0', + 'totalDuration': 'X seconds', + 'totalSuites': 2, + 'totalTests': 2, + 'totalFailed': 1, + 'totalPassed': 1, + 'totalPending': 0, + 'totalSkipped': 0, + 'browserName': 'electron', + 'browserVersion': '1.2.3', + 'osName': 'darwin', + 'osVersion': '16.7.0', } - diff --git a/system-tests/projects/module-api/test/invalid/__snapshots__/spec.js b/system-tests/projects/module-api/test/invalid/__snapshots__/spec.js index dac5b0a56833..f1723d2efe8d 100644 --- a/system-tests/projects/module-api/test/invalid/__snapshots__/spec.js +++ b/system-tests/projects/module-api/test/invalid/__snapshots__/spec.js @@ -1,15 +1,14 @@ exports['invalid malformed spec file returns with error code 1'] = { - "cypressVersion": "0.0.0", - "totalDuration": "X seconds", - "totalSuites": 0, - "totalTests": 1, - "totalFailed": 1, - "totalPassed": 0, - "totalPending": 0, - "totalSkipped": 0, - "browserName": "electron", - "browserVersion": "1.2.3", - "osName": "darwin", - "osVersion": "16.7.0" + 'cypressVersion': '0.0.0', + 'totalDuration': 'X seconds', + 'totalSuites': 0, + 'totalTests': 1, + 'totalFailed': 1, + 'totalPassed': 0, + 'totalPending': 0, + 'totalSkipped': 0, + 'browserName': 'electron', + 'browserVersion': '1.2.3', + 'osName': 'darwin', + 'osVersion': '16.7.0', } - diff --git a/system-tests/projects/module-api/test/successful/__snapshots__/spec.js b/system-tests/projects/module-api/test/successful/__snapshots__/spec.js index 32bd0f6a1f9a..bf824f816b56 100644 --- a/system-tests/projects/module-api/test/successful/__snapshots__/spec.js +++ b/system-tests/projects/module-api/test/successful/__snapshots__/spec.js @@ -1,15 +1,14 @@ exports['successful tests returns with all successful tests 1'] = { - "cypressVersion": "0.0.0", - "totalDuration": "X seconds", - "totalSuites": 2, - "totalTests": 2, - "totalFailed": 0, - "totalPassed": 2, - "totalPending": 0, - "totalSkipped": 0, - "browserName": "electron", - "browserVersion": "1.2.3", - "osName": "darwin", - "osVersion": "16.7.0" + 'cypressVersion': '0.0.0', + 'totalDuration': 'X seconds', + 'totalSuites': 2, + 'totalTests': 2, + 'totalFailed': 0, + 'totalPassed': 2, + 'totalPending': 0, + 'totalSkipped': 0, + 'browserName': 'electron', + 'browserVersion': '1.2.3', + 'osName': 'darwin', + 'osVersion': '16.7.0', } - diff --git a/system-tests/projects/nextjs-configured/components/button.cy.jsx b/system-tests/projects/nextjs-configured/components/button.cy.jsx index 866b0253d46a..7078df6ba3b8 100644 --- a/system-tests/projects/nextjs-configured/components/button.cy.jsx +++ b/system-tests/projects/nextjs-configured/components/button.cy.jsx @@ -5,4 +5,4 @@ import { Button } from './button' it('works', () => { mount( ) -} \ No newline at end of file +} diff --git a/system-tests/projects/nextjs-configured/pages/_app.js b/system-tests/projects/nextjs-configured/pages/_app.js index 1e1cec92425c..70177469016e 100644 --- a/system-tests/projects/nextjs-configured/pages/_app.js +++ b/system-tests/projects/nextjs-configured/pages/_app.js @@ -1,6 +1,6 @@ import '../styles/globals.css' -function MyApp({ Component, pageProps }) { +function MyApp ({ Component, pageProps }) { return } diff --git a/system-tests/projects/nextjs-configured/pages/api/hello.js b/system-tests/projects/nextjs-configured/pages/api/hello.js index df63de88fa67..7c146eb9d1dd 100644 --- a/system-tests/projects/nextjs-configured/pages/api/hello.js +++ b/system-tests/projects/nextjs-configured/pages/api/hello.js @@ -1,5 +1,5 @@ // Next.js API route support: https://nextjs.org/docs/api-routes/introduction -export default function handler(req, res) { +export default function handler (req, res) { res.status(200).json({ name: 'John Doe' }) } diff --git a/system-tests/projects/nextjs-configured/pages/index.js b/system-tests/projects/nextjs-configured/pages/index.js index dc4b64035213..5eed26199897 100644 --- a/system-tests/projects/nextjs-configured/pages/index.js +++ b/system-tests/projects/nextjs-configured/pages/index.js @@ -2,7 +2,7 @@ import Head from 'next/head' import Image from 'next/image' import styles from '../styles/Home.module.css' -export default function Home() { +export default function Home () { return (
    diff --git a/system-tests/projects/nextjs-unconfigured/components/button.cy.jsx b/system-tests/projects/nextjs-unconfigured/components/button.cy.jsx index 866b0253d46a..7078df6ba3b8 100644 --- a/system-tests/projects/nextjs-unconfigured/components/button.cy.jsx +++ b/system-tests/projects/nextjs-unconfigured/components/button.cy.jsx @@ -5,4 +5,4 @@ import { Button } from './button' it('works', () => { mount( ) -} \ No newline at end of file +} diff --git a/system-tests/projects/nextjs-unconfigured/pages/_app.js b/system-tests/projects/nextjs-unconfigured/pages/_app.js index 1e1cec92425c..70177469016e 100644 --- a/system-tests/projects/nextjs-unconfigured/pages/_app.js +++ b/system-tests/projects/nextjs-unconfigured/pages/_app.js @@ -1,6 +1,6 @@ import '../styles/globals.css' -function MyApp({ Component, pageProps }) { +function MyApp ({ Component, pageProps }) { return } diff --git a/system-tests/projects/nextjs-unconfigured/pages/api/hello.js b/system-tests/projects/nextjs-unconfigured/pages/api/hello.js index df63de88fa67..7c146eb9d1dd 100644 --- a/system-tests/projects/nextjs-unconfigured/pages/api/hello.js +++ b/system-tests/projects/nextjs-unconfigured/pages/api/hello.js @@ -1,5 +1,5 @@ // Next.js API route support: https://nextjs.org/docs/api-routes/introduction -export default function handler(req, res) { +export default function handler (req, res) { res.status(200).json({ name: 'John Doe' }) } diff --git a/system-tests/projects/nextjs-unconfigured/pages/index.js b/system-tests/projects/nextjs-unconfigured/pages/index.js index dc4b64035213..5eed26199897 100644 --- a/system-tests/projects/nextjs-unconfigured/pages/index.js +++ b/system-tests/projects/nextjs-unconfigured/pages/index.js @@ -2,7 +2,7 @@ import Head from 'next/head' import Image from 'next/image' import styles from '../styles/Home.module.css' -export default function Home() { +export default function Home () { return (
    diff --git a/system-tests/projects/no-specs-custom-pattern/src/App.jsx b/system-tests/projects/no-specs-custom-pattern/src/App.jsx index 73b5f1f3075b..4d8241e7cdd7 100644 --- a/system-tests/projects/no-specs-custom-pattern/src/App.jsx +++ b/system-tests/projects/no-specs-custom-pattern/src/App.jsx @@ -1,9 +1,9 @@ -import React from 'react'; +import React from 'react' -function App() { +function App () { return (
    Hello World
    - ); + ) } -export default App; +export default App diff --git a/system-tests/projects/no-specs-custom-pattern/src/components/Button.cy2.jsx b/system-tests/projects/no-specs-custom-pattern/src/components/Button.cy2.jsx index 2eb7cfb085b7..fbd6b6b36c53 100644 --- a/system-tests/projects/no-specs-custom-pattern/src/components/Button.cy2.jsx +++ b/system-tests/projects/no-specs-custom-pattern/src/components/Button.cy2.jsx @@ -1,6 +1,3 @@ -import React from 'react'; -import Button from './Button'; - -it("should not run because this file doesn't match the custom spec pattern", () => { +it('should not run because this file doesn\'t match the custom spec pattern', () => { expect(true).to.be.false }) diff --git a/system-tests/projects/no-specs-custom-pattern/src/components/Button.jsx b/system-tests/projects/no-specs-custom-pattern/src/components/Button.jsx index 5ea1563bfa83..12b6628300f7 100644 --- a/system-tests/projects/no-specs-custom-pattern/src/components/Button.jsx +++ b/system-tests/projects/no-specs-custom-pattern/src/components/Button.jsx @@ -1,12 +1,15 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import './button.css'; +import React from 'react' +import PropTypes from 'prop-types' +import './button.css' /** * Primary UI component for user interaction */ -export default Button = ({ primary, backgroundColor, size, label, ...props }) => { - const mode = primary ? 'button--primary' : 'button--secondary'; +export default Button + +const Button = ({ primary, backgroundColor, size, label, ...props }) => { + const mode = primary ? 'button--primary' : 'button--secondary' + return ( - ); -}; + ) +} Button.propTypes = { /** @@ -40,11 +43,11 @@ Button.propTypes = { * Optional click handler */ onClick: PropTypes.func, -}; +} Button.defaultProps = { backgroundColor: null, primary: false, size: 'medium', onClick: undefined, -}; +} diff --git a/system-tests/projects/no-specs-custom-pattern/src/index.jsx b/system-tests/projects/no-specs-custom-pattern/src/index.jsx index 6832e7832bb9..3992ef9741fa 100644 --- a/system-tests/projects/no-specs-custom-pattern/src/index.jsx +++ b/system-tests/projects/no-specs-custom-pattern/src/index.jsx @@ -1,11 +1,11 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import './index.css'; -import App from './App'; +import React from 'react' +import ReactDOM from 'react-dom' +import './index.css' +import App from './App' ReactDOM.render( , - document.getElementById('root') -); + document.getElementById('root'), +) diff --git a/system-tests/projects/no-specs-vue-2/babel.config.js b/system-tests/projects/no-specs-vue-2/babel.config.js index e9558405fdcc..df195386eb45 100644 --- a/system-tests/projects/no-specs-vue-2/babel.config.js +++ b/system-tests/projects/no-specs-vue-2/babel.config.js @@ -1,5 +1,5 @@ module.exports = { presets: [ - '@vue/cli-plugin-babel/preset' - ] + '@vue/cli-plugin-babel/preset', + ], } diff --git a/system-tests/projects/no-specs-vue-2/cypress-custom-spec-pattern.config.js b/system-tests/projects/no-specs-vue-2/cypress-custom-spec-pattern.config.js index 5910e12bd83b..68fe6801edfc 100644 --- a/system-tests/projects/no-specs-vue-2/cypress-custom-spec-pattern.config.js +++ b/system-tests/projects/no-specs-vue-2/cypress-custom-spec-pattern.config.js @@ -3,7 +3,7 @@ module.exports = { specPattern: 'src/specs-folder/*.cy.{js,jsx}', devServer: { framework: 'vue-cli', - bundler: 'webpack' - } - } + bundler: 'webpack', + }, + }, } diff --git a/system-tests/projects/no-specs-vue-2/cypress/support/commands.js b/system-tests/projects/no-specs-vue-2/cypress/support/commands.js index 66ea16ef0e3d..119ab03f7cda 100644 --- a/system-tests/projects/no-specs-vue-2/cypress/support/commands.js +++ b/system-tests/projects/no-specs-vue-2/cypress/support/commands.js @@ -22,4 +22,4 @@ // // // -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) \ No newline at end of file +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/system-tests/projects/no-specs-vue-2/cypress/support/component.js b/system-tests/projects/no-specs-vue-2/cypress/support/component.js index 53d9d15a20eb..3d1a3d225bb1 100644 --- a/system-tests/projects/no-specs-vue-2/cypress/support/component.js +++ b/system-tests/projects/no-specs-vue-2/cypress/support/component.js @@ -24,4 +24,4 @@ import { mount } from 'cypress/vue2' Cypress.Commands.add('mount', mount) // Example use: -// cy.mount(MyComponent) \ No newline at end of file +// cy.mount(MyComponent) diff --git a/system-tests/projects/no-specs-vue-2/src/main.js b/system-tests/projects/no-specs-vue-2/src/main.js index 63eb05f711c8..dd079f8d5bd7 100644 --- a/system-tests/projects/no-specs-vue-2/src/main.js +++ b/system-tests/projects/no-specs-vue-2/src/main.js @@ -4,5 +4,5 @@ import App from './App.vue' Vue.config.productionTip = false new Vue({ - render: h => h(App), + render: (h) => h(App), }).$mount('#app') diff --git a/system-tests/projects/no-specs-vue-2/vue.config.js b/system-tests/projects/no-specs-vue-2/vue.config.js index 910e297e0f53..9eec3d381200 100644 --- a/system-tests/projects/no-specs-vue-2/vue.config.js +++ b/system-tests/projects/no-specs-vue-2/vue.config.js @@ -1,4 +1,5 @@ const { defineConfig } = require('@vue/cli-service') + module.exports = defineConfig({ - transpileDependencies: true + transpileDependencies: true, }) diff --git a/system-tests/projects/no-specs/src/App.jsx b/system-tests/projects/no-specs/src/App.jsx index 73b5f1f3075b..4d8241e7cdd7 100644 --- a/system-tests/projects/no-specs/src/App.jsx +++ b/system-tests/projects/no-specs/src/App.jsx @@ -1,9 +1,9 @@ -import React from 'react'; +import React from 'react' -function App() { +function App () { return (
    Hello World
    - ); + ) } -export default App; +export default App diff --git a/system-tests/projects/no-specs/src/index.jsx b/system-tests/projects/no-specs/src/index.jsx index 6832e7832bb9..3992ef9741fa 100644 --- a/system-tests/projects/no-specs/src/index.jsx +++ b/system-tests/projects/no-specs/src/index.jsx @@ -1,11 +1,11 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import './index.css'; -import App from './App'; +import React from 'react' +import ReactDOM from 'react-dom' +import './index.css' +import App from './App' ReactDOM.render( , - document.getElementById('root') -); + document.getElementById('root'), +) diff --git a/system-tests/projects/nuxtjs-vue2-configured/components/Errors.cy.js b/system-tests/projects/nuxtjs-vue2-configured/components/Errors.cy.js index bffd645a3357..33cfc084730a 100644 --- a/system-tests/projects/nuxtjs-vue2-configured/components/Errors.cy.js +++ b/system-tests/projects/nuxtjs-vue2-configured/components/Errors.cy.js @@ -2,12 +2,11 @@ import Errors from './Errors.vue' import { mount } from 'cypress/vue2' describe('Errors', () => { - it('error on mount', () => { mount(Errors, { propsData: { - throwError: true - } + throwError: true, + }, }) }) @@ -25,4 +24,4 @@ describe('Errors', () => { mount(Errors) cy.get('element-that-does-not-exist') }) -}) \ No newline at end of file +}) diff --git a/system-tests/projects/nuxtjs-vue2-configured/nuxt.config.js b/system-tests/projects/nuxtjs-vue2-configured/nuxt.config.js index 7f5e556c55d7..dc72b24d8e39 100644 --- a/system-tests/projects/nuxtjs-vue2-configured/nuxt.config.js +++ b/system-tests/projects/nuxtjs-vue2-configured/nuxt.config.js @@ -3,17 +3,17 @@ export default { head: { title: 'pristine-nuxtjs-vue2-configured', htmlAttrs: { - lang: 'en' + lang: 'en', }, meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, { hid: 'description', name: 'description', content: '' }, - { name: 'format-detection', content: 'telephone=no' } + { name: 'format-detection', content: 'telephone=no' }, ], link: [ - { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' } - ] + { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }, + ], }, // Global CSS: https://go.nuxtjs.dev/config-css diff --git a/system-tests/projects/nuxtjs-vue2-unconfigured/nuxt.config.js b/system-tests/projects/nuxtjs-vue2-unconfigured/nuxt.config.js index 47fb153a413c..dc72b24d8e39 100644 --- a/system-tests/projects/nuxtjs-vue2-unconfigured/nuxt.config.js +++ b/system-tests/projects/nuxtjs-vue2-unconfigured/nuxt.config.js @@ -3,17 +3,17 @@ export default { head: { title: 'pristine-nuxtjs-vue2-configured', htmlAttrs: { - lang: 'en' + lang: 'en', }, meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, { hid: 'description', name: 'description', content: '' }, - { name: 'format-detection', content: 'telephone=no' } + { name: 'format-detection', content: 'telephone=no' }, ], link: [ - { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' } - ] + { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }, + ], }, // Global CSS: https://go.nuxtjs.dev/config-css @@ -37,5 +37,5 @@ export default { // Build Configuration: https://go.nuxtjs.dev/config-build build: { - } + }, } diff --git a/system-tests/projects/pristine-cjs-project/expected-cypress-js-component-vue.js-3-webpack/support/commands.js b/system-tests/projects/pristine-cjs-project/expected-cypress-js-component-vue.js-3-webpack/support/commands.js index 66ea16ef0e3d..119ab03f7cda 100644 --- a/system-tests/projects/pristine-cjs-project/expected-cypress-js-component-vue.js-3-webpack/support/commands.js +++ b/system-tests/projects/pristine-cjs-project/expected-cypress-js-component-vue.js-3-webpack/support/commands.js @@ -22,4 +22,4 @@ // // // -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) \ No newline at end of file +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/system-tests/projects/pristine-cjs-project/expected-cypress-js-component-vue.js-3-webpack/support/component.js b/system-tests/projects/pristine-cjs-project/expected-cypress-js-component-vue.js-3-webpack/support/component.js index b091808fa5d9..b234fad4473b 100644 --- a/system-tests/projects/pristine-cjs-project/expected-cypress-js-component-vue.js-3-webpack/support/component.js +++ b/system-tests/projects/pristine-cjs-project/expected-cypress-js-component-vue.js-3-webpack/support/component.js @@ -24,4 +24,4 @@ import { mount } from 'cypress/vue' Cypress.Commands.add('mount', mount) // Example use: -// cy.mount(MyComponent) \ No newline at end of file +// cy.mount(MyComponent) diff --git a/system-tests/projects/pristine-module/expected-cypress-js-e2e/cypress/support/commands.js b/system-tests/projects/pristine-module/expected-cypress-js-e2e/cypress/support/commands.js index 66ea16ef0e3d..119ab03f7cda 100644 --- a/system-tests/projects/pristine-module/expected-cypress-js-e2e/cypress/support/commands.js +++ b/system-tests/projects/pristine-module/expected-cypress-js-e2e/cypress/support/commands.js @@ -22,4 +22,4 @@ // // // -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) \ No newline at end of file +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/system-tests/projects/pristine-module/expected-cypress-js-e2e/cypress/support/e2e.js b/system-tests/projects/pristine-module/expected-cypress-js-e2e/cypress/support/e2e.js index 0e7290a13d9e..d1dd1353e812 100644 --- a/system-tests/projects/pristine-module/expected-cypress-js-e2e/cypress/support/e2e.js +++ b/system-tests/projects/pristine-module/expected-cypress-js-e2e/cypress/support/e2e.js @@ -17,4 +17,4 @@ import './commands' // Alternatively you can use CommonJS syntax: -// require('./commands') \ No newline at end of file +// require('./commands') diff --git a/system-tests/projects/pristine/expected-cypress-js-component-create-react-app-v5/cypress/support/commands.js b/system-tests/projects/pristine/expected-cypress-js-component-create-react-app-v5/cypress/support/commands.js index 66ea16ef0e3d..119ab03f7cda 100644 --- a/system-tests/projects/pristine/expected-cypress-js-component-create-react-app-v5/cypress/support/commands.js +++ b/system-tests/projects/pristine/expected-cypress-js-component-create-react-app-v5/cypress/support/commands.js @@ -22,4 +22,4 @@ // // // -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) \ No newline at end of file +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/system-tests/projects/pristine/expected-cypress-js-e2e-without-fixtures/cypress/support/commands.js b/system-tests/projects/pristine/expected-cypress-js-e2e-without-fixtures/cypress/support/commands.js index 66ea16ef0e3d..119ab03f7cda 100644 --- a/system-tests/projects/pristine/expected-cypress-js-e2e-without-fixtures/cypress/support/commands.js +++ b/system-tests/projects/pristine/expected-cypress-js-e2e-without-fixtures/cypress/support/commands.js @@ -22,4 +22,4 @@ // // // -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) \ No newline at end of file +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/system-tests/projects/pristine/expected-cypress-js-e2e-without-fixtures/cypress/support/e2e.js b/system-tests/projects/pristine/expected-cypress-js-e2e-without-fixtures/cypress/support/e2e.js index 0e7290a13d9e..d1dd1353e812 100644 --- a/system-tests/projects/pristine/expected-cypress-js-e2e-without-fixtures/cypress/support/e2e.js +++ b/system-tests/projects/pristine/expected-cypress-js-e2e-without-fixtures/cypress/support/e2e.js @@ -17,4 +17,4 @@ import './commands' // Alternatively you can use CommonJS syntax: -// require('./commands') \ No newline at end of file +// require('./commands') diff --git a/system-tests/projects/pristine/expected-cypress-js-e2e/cypress/support/commands.js b/system-tests/projects/pristine/expected-cypress-js-e2e/cypress/support/commands.js index 66ea16ef0e3d..119ab03f7cda 100644 --- a/system-tests/projects/pristine/expected-cypress-js-e2e/cypress/support/commands.js +++ b/system-tests/projects/pristine/expected-cypress-js-e2e/cypress/support/commands.js @@ -22,4 +22,4 @@ // // // -- This will overwrite an existing command -- -// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) \ No newline at end of file +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/system-tests/projects/pristine/expected-cypress-js-e2e/cypress/support/e2e.js b/system-tests/projects/pristine/expected-cypress-js-e2e/cypress/support/e2e.js index 0e7290a13d9e..d1dd1353e812 100644 --- a/system-tests/projects/pristine/expected-cypress-js-e2e/cypress/support/e2e.js +++ b/system-tests/projects/pristine/expected-cypress-js-e2e/cypress/support/e2e.js @@ -17,4 +17,4 @@ import './commands' // Alternatively you can use CommonJS syntax: -// require('./commands') \ No newline at end of file +// require('./commands') diff --git a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress.config.ts b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress.config.ts index 1ed1cb32cc5e..98ac4ce2cb2f 100644 --- a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress.config.ts +++ b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress.config.ts @@ -1,8 +1,8 @@ -import { defineConfig } from "cypress"; -import { devServer } from "@cypress/react/plugins/react-scripts"; +import { defineConfig } from 'cypress' +import { devServer } from '@cypress/react/plugins/react-scripts' export default defineConfig({ component: { devServer, }, -}); \ No newline at end of file +}) diff --git a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress/support/commands.ts b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress/support/commands.ts index 698b01a42c35..95857aea4cdf 100644 --- a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress/support/commands.ts +++ b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress/support/commands.ts @@ -34,4 +34,4 @@ // visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable // } // } -// } \ No newline at end of file +// } diff --git a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress/support/component.ts b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress/support/component.ts index 3ed3a69c8d05..d7870eef01f3 100644 --- a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress/support/component.ts +++ b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5-without-fixtures/cypress/support/component.ts @@ -17,4 +17,4 @@ import './commands' // Alternatively you can use CommonJS syntax: -// require('./commands') \ No newline at end of file +// require('./commands') diff --git a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress.config.ts b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress.config.ts index 49022849bd62..97f16a118453 100644 --- a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress.config.ts +++ b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress.config.ts @@ -1,10 +1,10 @@ -import { defineConfig } from "cypress"; +import { defineConfig } from 'cypress' export default defineConfig({ component: { devServer: { - framework: "create-react-app", - bundler: "webpack", + framework: 'create-react-app', + bundler: 'webpack', }, }, -}); \ No newline at end of file +}) diff --git a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress/support/commands.ts b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress/support/commands.ts index 698b01a42c35..95857aea4cdf 100644 --- a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress/support/commands.ts +++ b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress/support/commands.ts @@ -34,4 +34,4 @@ // visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable // } // } -// } \ No newline at end of file +// } diff --git a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress/support/component.ts b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress/support/component.ts index bd8ff0182df2..697e105d1a3c 100644 --- a/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress/support/component.ts +++ b/system-tests/projects/pristine/expected-cypress-ts-component-create-react-app-v5/cypress/support/component.ts @@ -36,4 +36,4 @@ declare global { Cypress.Commands.add('mount', mount) // Example use: -// cy.mount() \ No newline at end of file +// cy.mount() diff --git a/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress.config.ts b/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress.config.ts index 9a7b7ab80e47..ebeb12b8b021 100644 --- a/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress.config.ts +++ b/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress.config.ts @@ -1,9 +1,9 @@ -import { defineConfig } from "cypress"; +import { defineConfig } from 'cypress' export default defineConfig({ e2e: { - setupNodeEvents(on, config) { + setupNodeEvents (on, config) { // implement node event listeners here }, }, -}); \ No newline at end of file +}) diff --git a/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress/support/commands.ts b/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress/support/commands.ts index 698b01a42c35..95857aea4cdf 100644 --- a/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress/support/commands.ts +++ b/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress/support/commands.ts @@ -34,4 +34,4 @@ // visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable // } // } -// } \ No newline at end of file +// } diff --git a/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress/support/e2e.ts b/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress/support/e2e.ts index f80f74f8e1f7..ed5730de1148 100644 --- a/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress/support/e2e.ts +++ b/system-tests/projects/pristine/expected-cypress-ts-e2e/cypress/support/e2e.ts @@ -17,4 +17,4 @@ import './commands' // Alternatively you can use CommonJS syntax: -// require('./commands') \ No newline at end of file +// require('./commands') diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/config/env.js b/system-tests/projects/react-app-webpack-5-unconfigured/config/env.js index ffa7e496aacd..f78bb1faef54 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/config/env.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/config/env.js @@ -1,17 +1,18 @@ -'use strict'; +'use strict' -const fs = require('fs'); -const path = require('path'); -const paths = require('./paths'); +const fs = require('fs') +const path = require('path') +const paths = require('./paths') // Make sure that including paths.js after env.js will read .env variables. -delete require.cache[require.resolve('./paths')]; +delete require.cache[require.resolve('./paths')] + +const NODE_ENV = process.env.NODE_ENV -const NODE_ENV = process.env.NODE_ENV; if (!NODE_ENV) { throw new Error( - 'The NODE_ENV environment variable is required but was not specified.' - ); + 'The NODE_ENV environment variable is required but was not specified.', + ) } // https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use @@ -23,22 +24,22 @@ const dotenvFiles = [ NODE_ENV !== 'test' && `${paths.dotenv}.local`, `${paths.dotenv}.${NODE_ENV}`, paths.dotenv, -].filter(Boolean); +].filter(Boolean) // Load environment variables from .env* files. Suppress warnings using silent // if this file is missing. dotenv will never modify any environment variables // that have already been set. Variable expansion is supported in .env files. // https://github.com/motdotla/dotenv // https://github.com/motdotla/dotenv-expand -dotenvFiles.forEach(dotenvFile => { +dotenvFiles.forEach((dotenvFile) => { if (fs.existsSync(dotenvFile)) { require('dotenv-expand')( require('dotenv').config({ path: dotenvFile, - }) - ); + }), + ) } -}); +}) // We support resolving modules according to `NODE_PATH`. // This lets you use absolute paths in imports inside large monorepos: @@ -49,56 +50,59 @@ dotenvFiles.forEach(dotenvFile => { // Otherwise, we risk importing Node.js core modules into an app instead of webpack shims. // https://github.com/facebook/create-react-app/issues/1023#issuecomment-265344421 // We also resolve them to make sure all tools using them work consistently. -const appDirectory = fs.realpathSync(process.cwd()); +const appDirectory = fs.realpathSync(process.cwd()) + process.env.NODE_PATH = (process.env.NODE_PATH || '') - .split(path.delimiter) - .filter(folder => folder && !path.isAbsolute(folder)) - .map(folder => path.resolve(appDirectory, folder)) - .join(path.delimiter); +.split(path.delimiter) +.filter((folder) => folder && !path.isAbsolute(folder)) +.map((folder) => path.resolve(appDirectory, folder)) +.join(path.delimiter) // Grab NODE_ENV and REACT_APP_* environment variables and prepare them to be // injected into the application via DefinePlugin in webpack configuration. -const REACT_APP = /^REACT_APP_/i; +const REACT_APP = /^REACT_APP_/i -function getClientEnvironment(publicUrl) { +function getClientEnvironment (publicUrl) { const raw = Object.keys(process.env) - .filter(key => REACT_APP.test(key)) - .reduce( - (env, key) => { - env[key] = process.env[key]; - return env; - }, - { - // Useful for determining whether we’re running in production mode. - // Most importantly, it switches React into the correct mode. - NODE_ENV: process.env.NODE_ENV || 'development', - // Useful for resolving the correct path to static assets in `public`. - // For example, . - // This should only be used as an escape hatch. Normally you would put - // images into the `src` and `import` them in code to get their paths. - PUBLIC_URL: publicUrl, - // We support configuring the sockjs pathname during development. - // These settings let a developer run multiple simultaneous projects. - // They are used as the connection `hostname`, `pathname` and `port` - // in webpackHotDevClient. They are used as the `sockHost`, `sockPath` - // and `sockPort` options in webpack-dev-server. - WDS_SOCKET_HOST: process.env.WDS_SOCKET_HOST, - WDS_SOCKET_PATH: process.env.WDS_SOCKET_PATH, - WDS_SOCKET_PORT: process.env.WDS_SOCKET_PORT, - // Whether or not react-refresh is enabled. - // It is defined here so it is available in the webpackHotDevClient. - FAST_REFRESH: process.env.FAST_REFRESH !== 'false', - } - ); + .filter((key) => REACT_APP.test(key)) + .reduce( + (env, key) => { + env[key] = process.env[key] + + return env + }, + { + // Useful for determining whether we’re running in production mode. + // Most importantly, it switches React into the correct mode. + NODE_ENV: process.env.NODE_ENV || 'development', + // Useful for resolving the correct path to static assets in `public`. + // For example, . + // This should only be used as an escape hatch. Normally you would put + // images into the `src` and `import` them in code to get their paths. + PUBLIC_URL: publicUrl, + // We support configuring the sockjs pathname during development. + // These settings let a developer run multiple simultaneous projects. + // They are used as the connection `hostname`, `pathname` and `port` + // in webpackHotDevClient. They are used as the `sockHost`, `sockPath` + // and `sockPort` options in webpack-dev-server. + WDS_SOCKET_HOST: process.env.WDS_SOCKET_HOST, + WDS_SOCKET_PATH: process.env.WDS_SOCKET_PATH, + WDS_SOCKET_PORT: process.env.WDS_SOCKET_PORT, + // Whether or not react-refresh is enabled. + // It is defined here so it is available in the webpackHotDevClient. + FAST_REFRESH: process.env.FAST_REFRESH !== 'false', + }, + ) // Stringify all values so we can feed into webpack DefinePlugin const stringified = { 'process.env': Object.keys(raw).reduce((env, key) => { - env[key] = JSON.stringify(raw[key]); - return env; + env[key] = JSON.stringify(raw[key]) + + return env }, {}), - }; + } - return { raw, stringified }; + return { raw, stringified } } -module.exports = getClientEnvironment; +module.exports = getClientEnvironment diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/config/getHttpsConfig.js b/system-tests/projects/react-app-webpack-5-unconfigured/config/getHttpsConfig.js index 013d493c1bbe..c83b9052a02b 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/config/getHttpsConfig.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/config/getHttpsConfig.js @@ -1,66 +1,70 @@ -'use strict'; +'use strict' -const fs = require('fs'); -const path = require('path'); -const crypto = require('crypto'); -const chalk = require('react-dev-utils/chalk'); -const paths = require('./paths'); +const fs = require('fs') +const path = require('path') +const crypto = require('crypto') +const chalk = require('react-dev-utils/chalk') +const paths = require('./paths') // Ensure the certificate and key provided are valid and if not // throw an easy to debug error -function validateKeyAndCerts({ cert, key, keyFile, crtFile }) { - let encrypted; +function validateKeyAndCerts ({ cert, key, keyFile, crtFile }) { + let encrypted + try { // publicEncrypt will throw an error with an invalid cert - encrypted = crypto.publicEncrypt(cert, Buffer.from('test')); + encrypted = crypto.publicEncrypt(cert, Buffer.from('test')) } catch (err) { throw new Error( - `The certificate "${chalk.yellow(crtFile)}" is invalid.\n${err.message}` - ); + `The certificate "${chalk.yellow(crtFile)}" is invalid.\n${err.message}`, + ) } try { // privateDecrypt will throw an error with an invalid key - crypto.privateDecrypt(key, encrypted); + crypto.privateDecrypt(key, encrypted) } catch (err) { throw new Error( `The certificate key "${chalk.yellow(keyFile)}" is invalid.\n${ err.message - }` - ); + }`, + ) } } // Read file and throw an error if it doesn't exist -function readEnvFile(file, type) { +function readEnvFile (file, type) { if (!fs.existsSync(file)) { throw new Error( `You specified ${chalk.cyan( - type - )} in your env, but the file "${chalk.yellow(file)}" can't be found.` - ); + type, + )} in your env, but the file "${chalk.yellow(file)}" can't be found.`, + ) } - return fs.readFileSync(file); + + return fs.readFileSync(file) } // Get the https config // Return cert files if provided in env, otherwise just true or false -function getHttpsConfig() { - const { SSL_CRT_FILE, SSL_KEY_FILE, HTTPS } = process.env; - const isHttps = HTTPS === 'true'; +function getHttpsConfig () { + const { SSL_CRT_FILE, SSL_KEY_FILE, HTTPS } = process.env + const isHttps = HTTPS === 'true' if (isHttps && SSL_CRT_FILE && SSL_KEY_FILE) { - const crtFile = path.resolve(paths.appPath, SSL_CRT_FILE); - const keyFile = path.resolve(paths.appPath, SSL_KEY_FILE); + const crtFile = path.resolve(paths.appPath, SSL_CRT_FILE) + const keyFile = path.resolve(paths.appPath, SSL_KEY_FILE) const config = { cert: readEnvFile(crtFile, 'SSL_CRT_FILE'), key: readEnvFile(keyFile, 'SSL_KEY_FILE'), - }; + } - validateKeyAndCerts({ ...config, keyFile, crtFile }); - return config; + validateKeyAndCerts({ ...config, keyFile, crtFile }) + + return config } - return isHttps; + + return isHttps } -module.exports = getHttpsConfig; +module.exports = getHttpsConfig diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/babelTransform.js b/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/babelTransform.js index 5b391e405562..00ac1b128806 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/babelTransform.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/babelTransform.js @@ -1,19 +1,20 @@ -'use strict'; +'use strict' -const babelJest = require('babel-jest').default; +const babelJest = require('babel-jest').default const hasJsxRuntime = (() => { if (process.env.DISABLE_NEW_JSX_TRANSFORM === 'true') { - return false; + return false } try { - require.resolve('react/jsx-runtime'); - return true; + require.resolve('react/jsx-runtime') + + return true } catch (e) { - return false; + return false } -})(); +})() module.exports = babelJest.createTransformer({ presets: [ @@ -26,4 +27,4 @@ module.exports = babelJest.createTransformer({ ], babelrc: false, configFile: false, -}); +}) diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/cssTransform.js b/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/cssTransform.js index 8f65114812a4..b4e605c7c25b 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/cssTransform.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/cssTransform.js @@ -1,14 +1,14 @@ -'use strict'; +'use strict' // This is a custom Jest transformer turning style imports into empty objects. // http://facebook.github.io/jest/docs/en/webpack.html module.exports = { - process() { - return 'module.exports = {};'; + process () { + return 'module.exports = {};' }, - getCacheKey() { + getCacheKey () { // The output is always the same. - return 'cssTransform'; + return 'cssTransform' }, -}; +} diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/fileTransform.js b/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/fileTransform.js index aab67618c38b..3015d51f6c28 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/fileTransform.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/config/jest/fileTransform.js @@ -1,22 +1,23 @@ -'use strict'; +'use strict' -const path = require('path'); -const camelcase = require('camelcase'); +const path = require('path') +const camelcase = require('camelcase') // This is a custom Jest transformer turning file imports into filenames. // http://facebook.github.io/jest/docs/en/webpack.html module.exports = { - process(src, filename) { - const assetFilename = JSON.stringify(path.basename(filename)); + process (src, filename) { + const assetFilename = JSON.stringify(path.basename(filename)) if (filename.match(/\.svg$/)) { // Based on how SVGR generates a component name: // https://github.com/smooth-code/svgr/blob/01b194cf967347d43d4cbe6b434404731b87cf27/packages/core/src/state.js#L6 const pascalCaseFilename = camelcase(path.parse(filename).name, { pascalCase: true, - }); - const componentName = `Svg${pascalCaseFilename}`; + }) + const componentName = `Svg${pascalCaseFilename}` + return `const React = require('react'); module.exports = { __esModule: true, @@ -32,9 +33,9 @@ module.exports = { }) }; }), - };`; + };` } - return `module.exports = ${assetFilename};`; + return `module.exports = ${assetFilename};` }, -}; +} diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/config/modules.js b/system-tests/projects/react-app-webpack-5-unconfigured/config/modules.js index d63e41d78dc7..8d92bb2545fb 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/config/modules.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/config/modules.js @@ -1,34 +1,34 @@ -'use strict'; +'use strict' -const fs = require('fs'); -const path = require('path'); -const paths = require('./paths'); -const chalk = require('react-dev-utils/chalk'); -const resolve = require('resolve'); +const fs = require('fs') +const path = require('path') +const paths = require('./paths') +const chalk = require('react-dev-utils/chalk') +const resolve = require('resolve') /** * Get additional module paths based on the baseUrl of a compilerOptions object. * * @param {Object} options */ -function getAdditionalModulePaths(options = {}) { - const baseUrl = options.baseUrl; +function getAdditionalModulePaths (options = {}) { + const baseUrl = options.baseUrl if (!baseUrl) { - return ''; + return '' } - const baseUrlResolved = path.resolve(paths.appPath, baseUrl); + const baseUrlResolved = path.resolve(paths.appPath, baseUrl) // We don't need to do anything if `baseUrl` is set to `node_modules`. This is // the default behavior. if (path.relative(paths.appNodeModules, baseUrlResolved) === '') { - return null; + return null } // Allow the user set the `baseUrl` to `appSrc`. if (path.relative(paths.appSrc, baseUrlResolved) === '') { - return [paths.appSrc]; + return [paths.appSrc] } // If the path is equal to the root directory we ignore it here. @@ -37,16 +37,16 @@ function getAdditionalModulePaths(options = {}) { // absolute path (e.g. `src/Components/Button.js`) but we set that up with // an alias. if (path.relative(paths.appPath, baseUrlResolved) === '') { - return null; + return null } // Otherwise, throw an error. throw new Error( chalk.red.bold( - "Your project's `baseUrl` can only be set to `src` or `node_modules`." + - ' Create React App does not support other values at this time.' - ) - ); + 'Your project\'s `baseUrl` can only be set to `src` or `node_modules`.' + + ' Create React App does not support other values at this time.', + ), + ) } /** @@ -54,19 +54,19 @@ function getAdditionalModulePaths(options = {}) { * * @param {*} options */ -function getWebpackAliases(options = {}) { - const baseUrl = options.baseUrl; +function getWebpackAliases (options = {}) { + const baseUrl = options.baseUrl if (!baseUrl) { - return {}; + return {} } - const baseUrlResolved = path.resolve(paths.appPath, baseUrl); + const baseUrlResolved = path.resolve(paths.appPath, baseUrl) if (path.relative(paths.appPath, baseUrlResolved) === '') { return { src: paths.appSrc, - }; + } } } @@ -75,34 +75,34 @@ function getWebpackAliases(options = {}) { * * @param {*} options */ -function getJestAliases(options = {}) { - const baseUrl = options.baseUrl; +function getJestAliases (options = {}) { + const baseUrl = options.baseUrl if (!baseUrl) { - return {}; + return {} } - const baseUrlResolved = path.resolve(paths.appPath, baseUrl); + const baseUrlResolved = path.resolve(paths.appPath, baseUrl) if (path.relative(paths.appPath, baseUrlResolved) === '') { return { '^src/(.*)$': '/src/$1', - }; + } } } -function getModules() { +function getModules () { // Check if TypeScript is setup - const hasTsConfig = fs.existsSync(paths.appTsConfig); - const hasJsConfig = fs.existsSync(paths.appJsConfig); + const hasTsConfig = fs.existsSync(paths.appTsConfig) + const hasJsConfig = fs.existsSync(paths.appJsConfig) if (hasTsConfig && hasJsConfig) { throw new Error( - 'You have both a tsconfig.json and a jsconfig.json. If you are using TypeScript please remove your jsconfig.json file.' - ); + 'You have both a tsconfig.json and a jsconfig.json. If you are using TypeScript please remove your jsconfig.json file.', + ) } - let config; + let config // If there's a tsconfig.json we assume it's a // TypeScript project and set up the config @@ -110,25 +110,26 @@ function getModules() { if (hasTsConfig) { const ts = require(resolve.sync('typescript', { basedir: paths.appNodeModules, - })); - config = ts.readConfigFile(paths.appTsConfig, ts.sys.readFile).config; + })) + + config = ts.readConfigFile(paths.appTsConfig, ts.sys.readFile).config // Otherwise we'll check if there is jsconfig.json // for non TS projects. } else if (hasJsConfig) { - config = require(paths.appJsConfig); + config = require(paths.appJsConfig) } - config = config || {}; - const options = config.compilerOptions || {}; + config = config || {} + const options = config.compilerOptions || {} - const additionalModulePaths = getAdditionalModulePaths(options); + const additionalModulePaths = getAdditionalModulePaths(options) return { - additionalModulePaths: additionalModulePaths, + additionalModulePaths, webpackAliases: getWebpackAliases(options), jestAliases: getJestAliases(options), hasTsConfig, - }; + } } -module.exports = getModules(); +module.exports = getModules() diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/config/paths.js b/system-tests/projects/react-app-webpack-5-unconfigured/config/paths.js index f0a6cd9c986e..f015ea634666 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/config/paths.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/config/paths.js @@ -1,13 +1,13 @@ -'use strict'; +'use strict' -const path = require('path'); -const fs = require('fs'); -const getPublicUrlOrPath = require('react-dev-utils/getPublicUrlOrPath'); +const path = require('path') +const fs = require('fs') +const getPublicUrlOrPath = require('react-dev-utils/getPublicUrlOrPath') // Make sure any symlinks in the project folder are resolved: // https://github.com/facebook/create-react-app/issues/637 -const appDirectory = fs.realpathSync(process.cwd()); -const resolveApp = relativePath => path.resolve(appDirectory, relativePath); +const appDirectory = fs.realpathSync(process.cwd()) +const resolveApp = (relativePath) => path.resolve(appDirectory, relativePath) // We use `PUBLIC_URL` environment variable or "homepage" field to infer // "public path" at which the app is served. @@ -18,10 +18,10 @@ const resolveApp = relativePath => path.resolve(appDirectory, relativePath); const publicUrlOrPath = getPublicUrlOrPath( process.env.NODE_ENV === 'development', require(resolveApp('package.json')).homepage, - process.env.PUBLIC_URL -); + process.env.PUBLIC_URL, +) -const buildPath = process.env.BUILD_PATH || 'build'; +const buildPath = process.env.BUILD_PATH || 'build' const moduleFileExtensions = [ 'web.mjs', @@ -35,20 +35,20 @@ const moduleFileExtensions = [ 'json', 'web.jsx', 'jsx', -]; +] // Resolve file paths in the same order as webpack const resolveModule = (resolveFn, filePath) => { - const extension = moduleFileExtensions.find(extension => - fs.existsSync(resolveFn(`${filePath}.${extension}`)) - ); + const extension = moduleFileExtensions.find((extension) => { + return fs.existsSync(resolveFn(`${filePath}.${extension}`)) + }) if (extension) { - return resolveFn(`${filePath}.${extension}`); + return resolveFn(`${filePath}.${extension}`) } - return resolveFn(`${filePath}.js`); -}; + return resolveFn(`${filePath}.js`) +} // config after eject: we're in ./config/ module.exports = { @@ -70,8 +70,6 @@ module.exports = { appTsBuildInfoFile: resolveApp('node_modules/.cache/tsconfig.tsbuildinfo'), swSrc: resolveModule(resolveApp, 'src/service-worker'), publicUrlOrPath, -}; +} - - -module.exports.moduleFileExtensions = moduleFileExtensions; +module.exports.moduleFileExtensions = moduleFileExtensions diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/config/webpack/persistentCache/createEnvironmentHash.js b/system-tests/projects/react-app-webpack-5-unconfigured/config/webpack/persistentCache/createEnvironmentHash.js index 4487e853e18d..901bfdfcab4b 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/config/webpack/persistentCache/createEnvironmentHash.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/config/webpack/persistentCache/createEnvironmentHash.js @@ -1,9 +1,10 @@ -'use strict'; -const { createHash } = require('crypto'); +'use strict' +const { createHash } = require('crypto') -module.exports = env => { - const hash = createHash('md5'); - hash.update(JSON.stringify(env)); +module.exports = (env) => { + const hash = createHash('md5') - return hash.digest('hex'); -}; + hash.update(JSON.stringify(env)) + + return hash.digest('hex') +} diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/config/webpackDevServer.config.js b/system-tests/projects/react-app-webpack-5-unconfigured/config/webpackDevServer.config.js index 52f4edf36b91..0397e9d7f9ec 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/config/webpackDevServer.config.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/config/webpackDevServer.config.js @@ -1,21 +1,22 @@ -'use strict'; +'use strict' -const fs = require('fs'); -const evalSourceMapMiddleware = require('react-dev-utils/evalSourceMapMiddleware'); -const noopServiceWorkerMiddleware = require('react-dev-utils/noopServiceWorkerMiddleware'); -const ignoredFiles = require('react-dev-utils/ignoredFiles'); -const redirectServedPath = require('react-dev-utils/redirectServedPathMiddleware'); -const paths = require('./paths'); -const getHttpsConfig = require('./getHttpsConfig'); +const fs = require('fs') +const evalSourceMapMiddleware = require('react-dev-utils/evalSourceMapMiddleware') +const noopServiceWorkerMiddleware = require('react-dev-utils/noopServiceWorkerMiddleware') +const ignoredFiles = require('react-dev-utils/ignoredFiles') +const redirectServedPath = require('react-dev-utils/redirectServedPathMiddleware') +const paths = require('./paths') +const getHttpsConfig = require('./getHttpsConfig') -const host = process.env.HOST || '0.0.0.0'; -const sockHost = process.env.WDS_SOCKET_HOST; -const sockPath = process.env.WDS_SOCKET_PATH; // default: '/ws' -const sockPort = process.env.WDS_SOCKET_PORT; +const host = process.env.HOST || '0.0.0.0' +const sockHost = process.env.WDS_SOCKET_HOST +const sockPath = process.env.WDS_SOCKET_PATH // default: '/ws' +const sockPort = process.env.WDS_SOCKET_PORT module.exports = function (proxy, allowedHost) { const disableFirewall = - !proxy || process.env.DANGEROUSLY_DISABLE_HOST_CHECK === 'true'; + !proxy || process.env.DANGEROUSLY_DISABLE_HOST_CHECK === 'true' + return { // WebpackDevServer 2.4.3 introduced a security fix that prevents remote // websites from potentially accessing local content through DNS rebinding: @@ -101,27 +102,27 @@ module.exports = function (proxy, allowedHost) { }, // `proxy` is run between `before` and `after` `webpack-dev-server` hooks proxy, - onBeforeSetupMiddleware(devServer) { + onBeforeSetupMiddleware (devServer) { // Keep `evalSourceMapMiddleware` // middlewares before `redirectServedPath` otherwise will not have any effect // This lets us fetch source contents from webpack for the error overlay - devServer.app.use(evalSourceMapMiddleware(devServer)); + devServer.app.use(evalSourceMapMiddleware(devServer)) if (fs.existsSync(paths.proxySetup)) { // This registers user provided middleware for proxy reasons - require(paths.proxySetup)(devServer.app); + require(paths.proxySetup)(devServer.app) } }, - onAfterSetupMiddleware(devServer) { + onAfterSetupMiddleware (devServer) { // Redirect to `PUBLIC_URL` or `homepage` from `package.json` if url not match - devServer.app.use(redirectServedPath(paths.publicUrlOrPath)); + devServer.app.use(redirectServedPath(paths.publicUrlOrPath)) // This service worker file is effectively a 'no-op' that will reset any // previous service worker registered for the same host:port combination. // We do this in development to avoid hitting the production cache if // it used the same host and port. // https://github.com/facebook/create-react-app/issues/2272#issuecomment-302832432 - devServer.app.use(noopServiceWorkerMiddleware(paths.publicUrlOrPath)); + devServer.app.use(noopServiceWorkerMiddleware(paths.publicUrlOrPath)) }, - }; -}; + } +} diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/scripts/build.js b/system-tests/projects/react-app-webpack-5-unconfigured/scripts/build.js index 8a9acaaf70be..c0275bd9fd05 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/scripts/build.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/scripts/build.js @@ -1,175 +1,188 @@ -'use strict'; +'use strict' // Do this as the first thing so that any code reading it knows the right env. -process.env.BABEL_ENV = 'production'; -process.env.NODE_ENV = 'production'; +process.env.BABEL_ENV = 'production' +process.env.NODE_ENV = 'production' // Makes the script crash on unhandled rejections instead of silently // ignoring them. In the future, promise rejections that are not handled will // terminate the Node.js process with a non-zero exit code. -process.on('unhandledRejection', err => { - throw err; -}); +process.on('unhandledRejection', (err) => { + throw err +}) // Ensure environment variables are read. -require('../config/env'); - -const path = require('path'); -const chalk = require('react-dev-utils/chalk'); -const fs = require('fs-extra'); -const bfj = require('bfj'); -const webpack = require('webpack'); -const configFactory = require('../config/webpack.config'); -const paths = require('../config/paths'); -const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles'); -const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages'); -const printHostingInstructions = require('react-dev-utils/printHostingInstructions'); -const FileSizeReporter = require('react-dev-utils/FileSizeReporter'); -const printBuildError = require('react-dev-utils/printBuildError'); +require('../config/env') + +const path = require('path') +const chalk = require('react-dev-utils/chalk') +const fs = require('fs-extra') +const bfj = require('bfj') +const webpack = require('webpack') +const configFactory = require('../config/webpack.config') +const paths = require('../config/paths') +const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles') +const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages') +const printHostingInstructions = require('react-dev-utils/printHostingInstructions') +const FileSizeReporter = require('react-dev-utils/FileSizeReporter') +const printBuildError = require('react-dev-utils/printBuildError') const measureFileSizesBeforeBuild = - FileSizeReporter.measureFileSizesBeforeBuild; -const printFileSizesAfterBuild = FileSizeReporter.printFileSizesAfterBuild; -const useYarn = fs.existsSync(paths.yarnLockFile); + FileSizeReporter.measureFileSizesBeforeBuild +const printFileSizesAfterBuild = FileSizeReporter.printFileSizesAfterBuild +const useYarn = fs.existsSync(paths.yarnLockFile) // These sizes are pretty large. We'll warn for bundles exceeding them. -const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024; -const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024; +const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024 +const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024 -const isInteractive = process.stdout.isTTY; +const isInteractive = process.stdout.isTTY // Warn and crash if required files are missing if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) { - process.exit(1); + process.exit(1) } -const argv = process.argv.slice(2); -const writeStatsJson = argv.indexOf('--stats') !== -1; +const argv = process.argv.slice(2) +const writeStatsJson = argv.indexOf('--stats') !== -1 // Generate configuration -const config = configFactory('production'); +const config = configFactory('production') // We require that you explicitly set browsers and do not fall back to // browserslist defaults. -const { checkBrowsers } = require('react-dev-utils/browsersHelper'); -checkBrowsers(paths.appPath, isInteractive) - .then(() => { - // First, read the current file sizes in build directory. - // This lets us display how much they changed later. - return measureFileSizesBeforeBuild(paths.appBuild); - }) - .then(previousFileSizes => { - // Remove all content but keep the directory so that - // if you're in it, you don't end up in Trash - fs.emptyDirSync(paths.appBuild); - // Merge with the public folder - copyPublicFolder(); - // Start the webpack build - return build(previousFileSizes); - }) - .then( - ({ stats, previousFileSizes, warnings }) => { - if (warnings.length) { - console.log(chalk.yellow('Compiled with warnings.\n')); - console.log(warnings.join('\n\n')); - console.log( - '\nSearch for the ' + - chalk.underline(chalk.yellow('keywords')) + - ' to learn more about each warning.' - ); - console.log( - 'To ignore, add ' + - chalk.cyan('// eslint-disable-next-line') + - ' to the line before.\n' - ); - } else { - console.log(chalk.green('Compiled successfully.\n')); - } +const { checkBrowsers } = require('react-dev-utils/browsersHelper') - console.log('File sizes after gzip:\n'); - printFileSizesAfterBuild( - stats, - previousFileSizes, - paths.appBuild, - WARN_AFTER_BUNDLE_GZIP_SIZE, - WARN_AFTER_CHUNK_GZIP_SIZE - ); - console.log(); - - const appPackage = require(paths.appPackageJson); - const publicUrl = paths.publicUrlOrPath; - const publicPath = config.output.publicPath; - const buildFolder = path.relative(process.cwd(), paths.appBuild); - printHostingInstructions( - appPackage, - publicUrl, - publicPath, - buildFolder, - useYarn - ); - }, - err => { - const tscCompileOnError = process.env.TSC_COMPILE_ON_ERROR === 'true'; - if (tscCompileOnError) { - console.log( - chalk.yellow( - 'Compiled with the following type errors (you may want to check these before deploying your app):\n' - ) - ); - printBuildError(err); - } else { - console.log(chalk.red('Failed to compile.\n')); - printBuildError(err); - process.exit(1); - } +checkBrowsers(paths.appPath, isInteractive) +.then(() => { + // First, read the current file sizes in build directory. + // This lets us display how much they changed later. + return measureFileSizesBeforeBuild(paths.appBuild) +}) +.then((previousFileSizes) => { + // Remove all content but keep the directory so that + // if you're in it, you don't end up in Trash + fs.emptyDirSync(paths.appBuild) + // Merge with the public folder + copyPublicFolder() + + // Start the webpack build + return build(previousFileSizes) +}) +.then( + ({ stats, previousFileSizes, warnings }) => { + if (warnings.length) { + console.log(chalk.yellow('Compiled with warnings.\n')) + console.log(warnings.join('\n\n')) + console.log( + `\nSearch for the ${ + chalk.underline(chalk.yellow('keywords')) + } to learn more about each warning.`, + ) + + console.log( + `To ignore, add ${ + chalk.cyan('// eslint-disable-next-line') + } to the line before.\n`, + ) + } else { + console.log(chalk.green('Compiled successfully.\n')) } - ) - .catch(err => { - if (err && err.message) { - console.log(err.message); + + console.log('File sizes after gzip:\n') + printFileSizesAfterBuild( + stats, + previousFileSizes, + paths.appBuild, + WARN_AFTER_BUNDLE_GZIP_SIZE, + WARN_AFTER_CHUNK_GZIP_SIZE, + ) + + console.log() + + const appPackage = require(paths.appPackageJson) + const publicUrl = paths.publicUrlOrPath + const publicPath = config.output.publicPath + const buildFolder = path.relative(process.cwd(), paths.appBuild) + + printHostingInstructions( + appPackage, + publicUrl, + publicPath, + buildFolder, + useYarn, + ) + }, + (err) => { + const tscCompileOnError = process.env.TSC_COMPILE_ON_ERROR === 'true' + + if (tscCompileOnError) { + console.log( + chalk.yellow( + 'Compiled with the following type errors (you may want to check these before deploying your app):\n', + ), + ) + + printBuildError(err) + } else { + console.log(chalk.red('Failed to compile.\n')) + printBuildError(err) + process.exit(1) } - process.exit(1); - }); + }, +) +.catch((err) => { + if (err && err.message) { + console.log(err.message) + } + + process.exit(1) +}) // Create the production build and print the deployment instructions. -function build(previousFileSizes) { - console.log('Creating an optimized production build...'); +function build (previousFileSizes) { + console.log('Creating an optimized production build...') + + const compiler = webpack(config) - const compiler = webpack(config); return new Promise((resolve, reject) => { compiler.run((err, stats) => { - let messages; + let messages + if (err) { if (!err.message) { - return reject(err); + return reject(err) } - let errMessage = err.message; + let errMessage = err.message // Add additional information for postcss errors if (Object.prototype.hasOwnProperty.call(err, 'postcssNode')) { errMessage += - '\nCompileError: Begins at CSS selector ' + - err['postcssNode'].selector; + `\nCompileError: Begins at CSS selector ${ + err['postcssNode'].selector}` } messages = formatWebpackMessages({ errors: [errMessage], warnings: [], - }); + }) } else { messages = formatWebpackMessages( - stats.toJson({ all: false, warnings: true, errors: true }) - ); + stats.toJson({ all: false, warnings: true, errors: true }), + ) } + if (messages.errors.length) { // Only keep the first error. Others are often indicative // of the same problem, but confuse the reader with noise. if (messages.errors.length > 1) { - messages.errors.length = 1; + messages.errors.length = 1 } - return reject(new Error(messages.errors.join('\n\n'))); + + return reject(new Error(messages.errors.join('\n\n'))) } + if ( process.env.CI && (typeof process.env.CI !== 'string' || @@ -178,16 +191,18 @@ function build(previousFileSizes) { ) { // Ignore sourcemap warnings in CI builds. See #8227 for more info. const filteredWarnings = messages.warnings.filter( - w => !/Failed to parse source map/.test(w) - ); + (w) => !/Failed to parse source map/.test(w), + ) + if (filteredWarnings.length) { console.log( chalk.yellow( '\nTreating warnings as errors because process.env.CI = true.\n' + - 'Most CI servers set it automatically.\n' - ) - ); - return reject(new Error(filteredWarnings.join('\n\n'))); + 'Most CI servers set it automatically.\n', + ), + ) + + return reject(new Error(filteredWarnings.join('\n\n'))) } } @@ -195,23 +210,23 @@ function build(previousFileSizes) { stats, previousFileSizes, warnings: messages.warnings, - }; + } if (writeStatsJson) { return bfj - .write(paths.appBuild + '/bundle-stats.json', stats.toJson()) - .then(() => resolve(resolveArgs)) - .catch(error => reject(new Error(error))); + .write(`${paths.appBuild }/bundle-stats.json`, stats.toJson()) + .then(() => resolve(resolveArgs)) + .catch((error) => reject(new Error(error))) } - return resolve(resolveArgs); - }); - }); + return resolve(resolveArgs) + }) + }) } -function copyPublicFolder() { +function copyPublicFolder () { fs.copySync(paths.appPublic, paths.appBuild, { dereference: true, - filter: file => file !== paths.appHtml, - }); + filter: (file) => file !== paths.appHtml, + }) } diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/scripts/start.js b/system-tests/projects/react-app-webpack-5-unconfigured/scripts/start.js index d1761e89e82e..19d74fad7f7b 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/scripts/start.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/scripts/start.js @@ -1,154 +1,160 @@ -'use strict'; +'use strict' // Do this as the first thing so that any code reading it knows the right env. -process.env.BABEL_ENV = 'development'; -process.env.NODE_ENV = 'development'; +process.env.BABEL_ENV = 'development' +process.env.NODE_ENV = 'development' // Makes the script crash on unhandled rejections instead of silently // ignoring them. In the future, promise rejections that are not handled will // terminate the Node.js process with a non-zero exit code. -process.on('unhandledRejection', err => { - throw err; -}); +process.on('unhandledRejection', (err) => { + throw err +}) // Ensure environment variables are read. -require('../config/env'); - -const fs = require('fs'); -const chalk = require('react-dev-utils/chalk'); -const webpack = require('webpack'); -const WebpackDevServer = require('webpack-dev-server'); -const clearConsole = require('react-dev-utils/clearConsole'); -const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles'); +require('../config/env') + +const fs = require('fs') +const chalk = require('react-dev-utils/chalk') +const webpack = require('webpack') +const WebpackDevServer = require('webpack-dev-server') +const clearConsole = require('react-dev-utils/clearConsole') +const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles') const { choosePort, createCompiler, prepareProxy, prepareUrls, -} = require('react-dev-utils/WebpackDevServerUtils'); -const openBrowser = require('react-dev-utils/openBrowser'); -const semver = require('semver'); -const paths = require('../config/paths'); -const configFactory = require('../webpack.config'); -const createDevServerConfig = require('../config/webpackDevServer.config'); -const getClientEnvironment = require('../config/env'); -const react = require(require.resolve('react', { paths: [paths.appPath] })); - -const env = getClientEnvironment(paths.publicUrlOrPath.slice(0, -1)); -const useYarn = fs.existsSync(paths.yarnLockFile); -const isInteractive = process.stdout.isTTY; +} = require('react-dev-utils/WebpackDevServerUtils') +const openBrowser = require('react-dev-utils/openBrowser') +const semver = require('semver') +const paths = require('../config/paths') +const configFactory = require('../webpack.config') +const createDevServerConfig = require('../config/webpackDevServer.config') +const getClientEnvironment = require('../config/env') +const react = require(require.resolve('react', { paths: [paths.appPath] })) + +const env = getClientEnvironment(paths.publicUrlOrPath.slice(0, -1)) +const useYarn = fs.existsSync(paths.yarnLockFile) +const isInteractive = process.stdout.isTTY // Warn and crash if required files are missing if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) { - process.exit(1); + process.exit(1) } // Tools like Cloud9 rely on this. -const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 3000; -const HOST = process.env.HOST || '0.0.0.0'; +const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 3000 +const HOST = process.env.HOST || '0.0.0.0' if (process.env.HOST) { console.log( chalk.cyan( `Attempting to bind to HOST environment variable: ${chalk.yellow( - chalk.bold(process.env.HOST) - )}` - ) - ); + chalk.bold(process.env.HOST), + )}`, + ), + ) + console.log( - `If this was unintentional, check that you haven't mistakenly set it in your shell.` - ); + `If this was unintentional, check that you haven't mistakenly set it in your shell.`, + ) + console.log( - `Learn more here: ${chalk.yellow('https://cra.link/advanced-config')}` - ); - console.log(); + `Learn more here: ${chalk.yellow('https://cra.link/advanced-config')}`, + ) + + console.log() } // We require that you explicitly set browsers and do not fall back to // browserslist defaults. -const { checkBrowsers } = require('react-dev-utils/browsersHelper'); +const { checkBrowsers } = require('react-dev-utils/browsersHelper') + checkBrowsers(paths.appPath, isInteractive) - .then(() => { - // We attempt to use the default port but if it is busy, we offer the user to - // run on a different port. `choosePort()` Promise resolves to the next free port. - return choosePort(HOST, DEFAULT_PORT); +.then(() => { + // We attempt to use the default port but if it is busy, we offer the user to + // run on a different port. `choosePort()` Promise resolves to the next free port. + return choosePort(HOST, DEFAULT_PORT) +}) +.then((port) => { + if (port == null) { + // We have not found a port. + return + } + + const config = configFactory('development') + const protocol = process.env.HTTPS === 'true' ? 'https' : 'http' + const appName = require(paths.appPackageJson).name + + const useTypeScript = fs.existsSync(paths.appTsConfig) + const urls = prepareUrls( + protocol, + HOST, + port, + paths.publicUrlOrPath.slice(0, -1), + ) + // Create a webpack compiler that is configured with custom messages. + const compiler = createCompiler({ + appName, + config, + urls, + useYarn, + useTypeScript, + webpack, }) - .then(port => { - if (port == null) { - // We have not found a port. - return; - } + // Load proxy config + const proxySetting = require(paths.appPackageJson).proxy + const proxyConfig = prepareProxy( + proxySetting, + paths.appPublic, + paths.publicUrlOrPath, + ) + // Serve webpack assets generated by the compiler over a web server. + const serverConfig = { + ...createDevServerConfig(proxyConfig, urls.lanUrlForConfig), + host: HOST, + port, + } + const devServer = new WebpackDevServer(serverConfig, compiler) - const config = configFactory('development'); - const protocol = process.env.HTTPS === 'true' ? 'https' : 'http'; - const appName = require(paths.appPackageJson).name; - - const useTypeScript = fs.existsSync(paths.appTsConfig); - const urls = prepareUrls( - protocol, - HOST, - port, - paths.publicUrlOrPath.slice(0, -1) - ); - // Create a webpack compiler that is configured with custom messages. - const compiler = createCompiler({ - appName, - config, - urls, - useYarn, - useTypeScript, - webpack, - }); - // Load proxy config - const proxySetting = require(paths.appPackageJson).proxy; - const proxyConfig = prepareProxy( - proxySetting, - paths.appPublic, - paths.publicUrlOrPath - ); - // Serve webpack assets generated by the compiler over a web server. - const serverConfig = { - ...createDevServerConfig(proxyConfig, urls.lanUrlForConfig), - host: HOST, - port, - }; - const devServer = new WebpackDevServer(serverConfig, compiler); - // Launch WebpackDevServer. - devServer.startCallback(() => { - if (isInteractive) { - clearConsole(); - } - - if (env.raw.FAST_REFRESH && semver.lt(react.version, '16.10.0')) { - console.log( - chalk.yellow( - `Fast Refresh requires React 16.10 or higher. You are using React ${react.version}.` - ) - ); - } - - console.log(chalk.cyan('Starting the development server...\n')); - openBrowser(urls.localUrlForBrowser); - }); - - ['SIGINT', 'SIGTERM'].forEach(function (sig) { - process.on(sig, function () { - devServer.close(); - process.exit(); - }); - }); - - if (process.env.CI !== 'true') { - // Gracefully exit when stdin ends - process.stdin.on('end', function () { - devServer.close(); - process.exit(); - }); + // Launch WebpackDevServer. + devServer.startCallback(() => { + if (isInteractive) { + clearConsole() } - }) - .catch(err => { - if (err && err.message) { - console.log(err.message); + + if (env.raw.FAST_REFRESH && semver.lt(react.version, '16.10.0')) { + console.log( + chalk.yellow( + `Fast Refresh requires React 16.10 or higher. You are using React ${react.version}.`, + ), + ) } - process.exit(1); + + console.log(chalk.cyan('Starting the development server...\n')) + openBrowser(urls.localUrlForBrowser) }); + + ['SIGINT', 'SIGTERM'].forEach(function (sig) { + process.on(sig, function () { + devServer.close() + process.exit() + }) + }) + + if (process.env.CI !== 'true') { + // Gracefully exit when stdin ends + process.stdin.on('end', function () { + devServer.close() + process.exit() + }) + } +}) +.catch((err) => { + if (err && err.message) { + console.log(err.message) + } + + process.exit(1) +}) diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/scripts/test.js b/system-tests/projects/react-app-webpack-5-unconfigured/scripts/test.js index a38c855c5b03..844c409f20a0 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/scripts/test.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/scripts/test.js @@ -1,39 +1,41 @@ -'use strict'; +'use strict' // Do this as the first thing so that any code reading it knows the right env. -process.env.BABEL_ENV = 'test'; -process.env.NODE_ENV = 'test'; -process.env.PUBLIC_URL = ''; +process.env.BABEL_ENV = 'test' +process.env.NODE_ENV = 'test' +process.env.PUBLIC_URL = '' // Makes the script crash on unhandled rejections instead of silently // ignoring them. In the future, promise rejections that are not handled will // terminate the Node.js process with a non-zero exit code. -process.on('unhandledRejection', err => { - throw err; -}); +process.on('unhandledRejection', (err) => { + throw err +}) // Ensure environment variables are read. -require('../config/env'); +require('../config/env') -const jest = require('jest'); -const execSync = require('child_process').execSync; -let argv = process.argv.slice(2); +const jest = require('jest') +const execSync = require('child_process').execSync +let argv = process.argv.slice(2) -function isInGitRepository() { +function isInGitRepository () { try { - execSync('git rev-parse --is-inside-work-tree', { stdio: 'ignore' }); - return true; + execSync('git rev-parse --is-inside-work-tree', { stdio: 'ignore' }) + + return true } catch (e) { - return false; + return false } } -function isInMercurialRepository() { +function isInMercurialRepository () { try { - execSync('hg --cwd . root', { stdio: 'ignore' }); - return true; + execSync('hg --cwd . root', { stdio: 'ignore' }) + + return true } catch (e) { - return false; + return false } } @@ -44,9 +46,9 @@ if ( argv.indexOf('--watchAll=false') === -1 ) { // https://github.com/facebook/create-react-app/issues/5210 - const hasSourceControl = isInGitRepository() || isInMercurialRepository(); - argv.push(hasSourceControl ? '--watch' : '--watchAll'); -} + const hasSourceControl = isInGitRepository() || isInMercurialRepository() + argv.push(hasSourceControl ? '--watch' : '--watchAll') +} -jest.run(argv); +jest.run(argv) diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/src/App.js b/system-tests/projects/react-app-webpack-5-unconfigured/src/App.js index 37845757234c..8c308860b286 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/src/App.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/src/App.js @@ -1,7 +1,7 @@ -import logo from './logo.svg'; -import './App.css'; +import logo from './logo.svg' +import './App.css' -function App() { +function App () { return (
    @@ -19,7 +19,7 @@ function App() {
    - ); + ) } -export default App; +export default App diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/src/App.test.js b/system-tests/projects/react-app-webpack-5-unconfigured/src/App.test.js index 1f03afeece5a..0959cf743371 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/src/App.test.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/src/App.test.js @@ -1,8 +1,9 @@ -import { render, screen } from '@testing-library/react'; -import App from './App'; +import { render, screen } from '@testing-library/react' +import App from './App' test('renders learn react link', () => { - render(); - const linkElement = screen.getByText(/learn react/i); - expect(linkElement).toBeInTheDocument(); -}); + render() + const linkElement = screen.getByText(/learn react/i) + + expect(linkElement).toBeInTheDocument() +}) diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/src/index.js b/system-tests/projects/react-app-webpack-5-unconfigured/src/index.js index ef2edf8ea3fc..68bf7230c173 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/src/index.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/src/index.js @@ -1,17 +1,17 @@ -import React from 'react'; -import ReactDOM from 'react-dom'; -import './index.css'; -import App from './App'; -import reportWebVitals from './reportWebVitals'; +import React from 'react' +import ReactDOM from 'react-dom' +import './index.css' +import App from './App' +import reportWebVitals from './reportWebVitals' ReactDOM.render( , - document.getElementById('root') -); + document.getElementById('root'), +) // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); +reportWebVitals() diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/src/reportWebVitals.js b/system-tests/projects/react-app-webpack-5-unconfigured/src/reportWebVitals.js index 5253d3ad9e6b..dc6ff0781b6f 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/src/reportWebVitals.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/src/reportWebVitals.js @@ -1,13 +1,13 @@ -const reportWebVitals = onPerfEntry => { +const reportWebVitals = (onPerfEntry) => { if (onPerfEntry && onPerfEntry instanceof Function) { import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); + getCLS(onPerfEntry) + getFID(onPerfEntry) + getFCP(onPerfEntry) + getLCP(onPerfEntry) + getTTFB(onPerfEntry) + }) } -}; +} -export default reportWebVitals; +export default reportWebVitals diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/src/setupTests.js b/system-tests/projects/react-app-webpack-5-unconfigured/src/setupTests.js index 8f2609b7b3e0..52aaef1d2452 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/src/setupTests.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/src/setupTests.js @@ -2,4 +2,4 @@ // allows you to do things like: // expect(element).toHaveTextContent(/react/i) // learn more: https://github.com/testing-library/jest-dom -import '@testing-library/jest-dom'; +import '@testing-library/jest-dom' diff --git a/system-tests/projects/react-app-webpack-5-unconfigured/webpack.config.js b/system-tests/projects/react-app-webpack-5-unconfigured/webpack.config.js index dbbc880ab5f5..9d07525653c1 100644 --- a/system-tests/projects/react-app-webpack-5-unconfigured/webpack.config.js +++ b/system-tests/projects/react-app-webpack-5-unconfigured/webpack.config.js @@ -1,108 +1,109 @@ -'use strict'; +'use strict' -const fs = require('fs'); -const path = require('path'); -const webpack = require('webpack'); -const resolve = require('resolve'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin'); -const InlineChunkHtmlPlugin = require('react-dev-utils/InlineChunkHtmlPlugin'); -const TerserPlugin = require('terser-webpack-plugin'); -const MiniCssExtractPlugin = require('mini-css-extract-plugin'); -const CssMinimizerPlugin = require('css-minimizer-webpack-plugin'); -const { WebpackManifestPlugin } = require('webpack-manifest-plugin'); -const InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin'); -const WorkboxWebpackPlugin = require('workbox-webpack-plugin'); -const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin'); -const getCSSModuleLocalIdent = require('react-dev-utils/getCSSModuleLocalIdent'); -const ESLintPlugin = require('eslint-webpack-plugin'); -const paths = require('./config/paths'); -const modules = require('./config/modules'); -const getClientEnvironment = require('./config/env'); -const ModuleNotFoundPlugin = require('react-dev-utils/ModuleNotFoundPlugin'); +const fs = require('fs') +const path = require('path') +const webpack = require('webpack') +const resolve = require('resolve') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin') +const InlineChunkHtmlPlugin = require('react-dev-utils/InlineChunkHtmlPlugin') +const TerserPlugin = require('terser-webpack-plugin') +const MiniCssExtractPlugin = require('mini-css-extract-plugin') +const CssMinimizerPlugin = require('css-minimizer-webpack-plugin') +const { WebpackManifestPlugin } = require('webpack-manifest-plugin') +const InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin') +const WorkboxWebpackPlugin = require('workbox-webpack-plugin') +const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin') +const getCSSModuleLocalIdent = require('react-dev-utils/getCSSModuleLocalIdent') +const ESLintPlugin = require('eslint-webpack-plugin') +const paths = require('./config/paths') +const modules = require('./config/modules') +const getClientEnvironment = require('./config/env') +const ModuleNotFoundPlugin = require('react-dev-utils/ModuleNotFoundPlugin') const ForkTsCheckerWebpackPlugin = process.env.TSC_COMPILE_ON_ERROR === 'true' ? require('react-dev-utils/ForkTsCheckerWarningWebpackPlugin') - : require('react-dev-utils/ForkTsCheckerWebpackPlugin'); -const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin'); + : require('react-dev-utils/ForkTsCheckerWebpackPlugin') +const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin') -const createEnvironmentHash = require('./config/webpack/persistentCache/createEnvironmentHash'); +const createEnvironmentHash = require('./config/webpack/persistentCache/createEnvironmentHash') // Source maps are resource heavy and can cause out of memory issue for large source files. -const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false'; +const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false' -const reactRefreshRuntimeEntry = require.resolve('react-refresh/runtime'); +const reactRefreshRuntimeEntry = require.resolve('react-refresh/runtime') const reactRefreshWebpackPluginRuntimeEntry = require.resolve( - '@pmmmwh/react-refresh-webpack-plugin' -); -const babelRuntimeEntry = require.resolve('babel-preset-react-app'); + '@pmmmwh/react-refresh-webpack-plugin', +) +const babelRuntimeEntry = require.resolve('babel-preset-react-app') const babelRuntimeEntryHelpers = require.resolve( '@babel/runtime/helpers/esm/assertThisInitialized', - { paths: [babelRuntimeEntry] } -); + { paths: [babelRuntimeEntry] }, +) const babelRuntimeRegenerator = require.resolve('@babel/runtime/regenerator', { paths: [babelRuntimeEntry], -}); +}) // Some apps do not need the benefits of saving a web request, so not inlining the chunk // makes for a smoother build process. -const shouldInlineRuntimeChunk = process.env.INLINE_RUNTIME_CHUNK !== 'false'; +const shouldInlineRuntimeChunk = process.env.INLINE_RUNTIME_CHUNK !== 'false' -const emitErrorsAsWarnings = process.env.ESLINT_NO_DEV_ERRORS === 'true'; -const disableESLintPlugin = process.env.DISABLE_ESLINT_PLUGIN === 'true'; +const emitErrorsAsWarnings = process.env.ESLINT_NO_DEV_ERRORS === 'true' +const disableESLintPlugin = process.env.DISABLE_ESLINT_PLUGIN === 'true' const imageInlineSizeLimit = parseInt( - process.env.IMAGE_INLINE_SIZE_LIMIT || '10000' -); + process.env.IMAGE_INLINE_SIZE_LIMIT || '10000', +) // Check if TypeScript is setup -const useTypeScript = fs.existsSync(paths.appTsConfig); +const useTypeScript = fs.existsSync(paths.appTsConfig) // Check if Tailwind config exists const useTailwind = fs.existsSync( - path.join(paths.appPath, 'tailwind.config.js') -); + path.join(paths.appPath, 'tailwind.config.js'), +) // Get the path to the uncompiled service worker (if it exists). -const swSrc = paths.swSrc; +const swSrc = paths.swSrc // style files regexes -const cssRegex = /\.css$/; -const cssModuleRegex = /\.module\.css$/; -const sassRegex = /\.(scss|sass)$/; -const sassModuleRegex = /\.module\.(scss|sass)$/; +const cssRegex = /\.css$/ +const cssModuleRegex = /\.module\.css$/ +const sassRegex = /\.(scss|sass)$/ +const sassModuleRegex = /\.module\.(scss|sass)$/ const hasJsxRuntime = (() => { if (process.env.DISABLE_NEW_JSX_TRANSFORM === 'true') { - return false; + return false } try { - require.resolve('react/jsx-runtime'); - return true; + require.resolve('react/jsx-runtime') + + return true } catch (e) { - return false; + return false } -})(); +})() // This is the production and development configuration. // It is focused on developer experience, fast rebuilds, and a minimal bundle. module.exports = function (webpackEnv) { - const isEnvDevelopment = webpackEnv === 'development'; - const isEnvProduction = webpackEnv === 'production'; + const isEnvDevelopment = webpackEnv === 'development' + const isEnvProduction = webpackEnv === 'production' // Variable used for enabling profiling in Production // passed into alias object. Uses a flag if passed into the build command const isEnvProductionProfile = - isEnvProduction && process.argv.includes('--profile'); + isEnvProduction && process.argv.includes('--profile') // We will provide `paths.publicUrlOrPath` to our app // as %PUBLIC_URL% in `index.html` and `process.env.PUBLIC_URL` in JavaScript. // Omit trailing slash as %PUBLIC_URL%/xyz looks better than %PUBLIC_URL%xyz. // Get environment variables to inject into our app. - const env = getClientEnvironment(paths.publicUrlOrPath.slice(0, -1)); + const env = getClientEnvironment(paths.publicUrlOrPath.slice(0, -1)) - const shouldUseReactRefresh = env.raw.FAST_REFRESH; + const shouldUseReactRefresh = env.raw.FAST_REFRESH // common function to get style loaders const getStyleLoaders = (cssOptions, preProcessor) => { @@ -133,39 +134,40 @@ module.exports = function (webpackEnv) { config: false, plugins: !useTailwind ? [ - 'postcss-flexbugs-fixes', - [ - 'postcss-preset-env', - { - autoprefixer: { - flexbox: 'no-2009', - }, - stage: 3, + 'postcss-flexbugs-fixes', + [ + 'postcss-preset-env', + { + autoprefixer: { + flexbox: 'no-2009', }, - ], - // Adds PostCSS Normalize as the reset css with default options, - // so that it honors browserslist config in package.json - // which in turn let's users customize the target behavior as per their needs. - 'postcss-normalize', - ] + stage: 3, + }, + ], + // Adds PostCSS Normalize as the reset css with default options, + // so that it honors browserslist config in package.json + // which in turn let's users customize the target behavior as per their needs. + 'postcss-normalize', + ] : [ - 'tailwindcss', - 'postcss-flexbugs-fixes', - [ - 'postcss-preset-env', - { - autoprefixer: { - flexbox: 'no-2009', - }, - stage: 3, + 'tailwindcss', + 'postcss-flexbugs-fixes', + [ + 'postcss-preset-env', + { + autoprefixer: { + flexbox: 'no-2009', }, - ], + stage: 3, + }, ], + ], }, sourceMap: isEnvProduction ? shouldUseSourceMap : isEnvDevelopment, }, }, - ].filter(Boolean); + ].filter(Boolean) + if (preProcessor) { loaders.push( { @@ -180,11 +182,12 @@ module.exports = function (webpackEnv) { options: { sourceMap: true, }, - } - ); + }, + ) } - return loaders; - }; + + return loaders + } return { target: ['browserslist'], @@ -220,12 +223,13 @@ module.exports = function (webpackEnv) { publicPath: paths.publicUrlOrPath, // Point sourcemap entries to original disk location (format as URL on Windows) devtoolModuleFilenameTemplate: isEnvProduction - ? info => - path - .relative(paths.appSrc, info.absoluteResourcePath) - .replace(/\\/g, '/') + ? (info) => { + return path + .relative(paths.appSrc, info.absoluteResourcePath) + .replace(/\\/g, '/') + } : isEnvDevelopment && - (info => path.resolve(info.absoluteResourcePath).replace(/\\/g, '/')), + ((info) => path.resolve(info.absoluteResourcePath).replace(/\\/g, '/')), }, cache: { type: 'filesystem', @@ -235,9 +239,9 @@ module.exports = function (webpackEnv) { buildDependencies: { defaultWebpack: ['webpack/lib/'], config: [__filename], - tsconfig: [paths.appTsConfig, paths.appJsConfig].filter(f => - fs.existsSync(f) - ), + tsconfig: [paths.appTsConfig, paths.appJsConfig].filter((f) => { + return fs.existsSync(f) + }), }, }, infrastructureLogging: { @@ -296,7 +300,7 @@ module.exports = function (webpackEnv) { // if there are any conflicts. This matches Node resolution mechanism. // https://github.com/facebook/create-react-app/issues/253 modules: ['node_modules', paths.appNodeModules].concat( - modules.additionalModulePaths || [] + modules.additionalModulePaths || [], ), // These are the reasonable defaults supported by the Node ecosystem. // We also include JSX as a common component filename extension to support @@ -305,8 +309,8 @@ module.exports = function (webpackEnv) { // `web` extension prefixes have been added for better support // for React Native Web. extensions: paths.moduleFileExtensions - .map(ext => `.${ext}`) - .filter(ext => useTypeScript || !ext.includes('ts')), + .map((ext) => `.${ext}`) + .filter((ext) => useTypeScript || !ext.includes('ts')), alias: { // Support React Native Web // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/ @@ -407,7 +411,7 @@ module.exports = function (webpackEnv) { loader: require.resolve('babel-loader'), options: { customize: require.resolve( - 'babel-preset-react-app/webpack-overrides' + 'babel-preset-react-app/webpack-overrides', ), presets: [ [ @@ -417,7 +421,7 @@ module.exports = function (webpackEnv) { }, ], ], - + plugins: [ isEnvDevelopment && shouldUseReactRefresh && @@ -451,7 +455,7 @@ module.exports = function (webpackEnv) { cacheDirectory: true, // See #6846 for context on why cacheCompression is disabled cacheCompression: false, - + // Babel sourcemaps are needed for debugging into node_modules // code. Without the options below, debuggers like VSCode // show incorrect code and set breakpoints on the wrong lines. @@ -515,7 +519,7 @@ module.exports = function (webpackEnv) { mode: 'icss', }, }, - 'sass-loader' + 'sass-loader', ), // Don't consider CSS imports dead code even if the // containing package claims to have no side effects. @@ -538,7 +542,7 @@ module.exports = function (webpackEnv) { getLocalIdent: getCSSModuleLocalIdent, }, }, - 'sass-loader' + 'sass-loader', ), }, // "file" loader makes sure those assets get served by WebpackDevServer. @@ -571,21 +575,21 @@ module.exports = function (webpackEnv) { }, isEnvProduction ? { - minify: { - removeComments: true, - collapseWhitespace: true, - removeRedundantAttributes: true, - useShortDoctype: true, - removeEmptyAttributes: true, - removeStyleLinkTypeAttributes: true, - keepClosingSlash: true, - minifyJS: true, - minifyCSS: true, - minifyURLs: true, - }, - } - : undefined - ) + minify: { + removeComments: true, + collapseWhitespace: true, + removeRedundantAttributes: true, + useShortDoctype: true, + removeEmptyAttributes: true, + removeStyleLinkTypeAttributes: true, + keepClosingSlash: true, + minifyJS: true, + minifyCSS: true, + minifyURLs: true, + }, + } + : undefined, + ), ), // Inlines the webpack runtime script. This script is too small to warrant // a network request. @@ -637,17 +641,18 @@ module.exports = function (webpackEnv) { publicPath: paths.publicUrlOrPath, generate: (seed, files, entrypoints) => { const manifestFiles = files.reduce((manifest, file) => { - manifest[file.name] = file.path; - return manifest; - }, seed); + manifest[file.name] = file.path + + return manifest + }, seed) const entrypointFiles = entrypoints.main.filter( - fileName => !fileName.endsWith('.map') - ); + (fileName) => !fileName.endsWith('.map'), + ) return { files: manifestFiles, entrypoints: entrypointFiles, - }; + } }, }), // Moment.js is an extremely popular library that bundles large locale files @@ -731,7 +736,7 @@ module.exports = function (webpackEnv) { cache: true, cacheLocation: path.resolve( paths.appNodeModules, - '.cache/.eslintcache' + '.cache/.eslintcache', ), // ESLint class options cwd: paths.appPath, @@ -749,5 +754,5 @@ module.exports = function (webpackEnv) { // Turn off performance processing because we utilize // our own hints via the FileSizeReporter performance: false, - }; -}; + } +} diff --git a/system-tests/projects/react17/src/UsingLegacyMount.cy.jsx b/system-tests/projects/react17/src/UsingLegacyMount.cy.jsx index 0f9846a0a2d1..34155dc68d6f 100644 --- a/system-tests/projects/react17/src/UsingLegacyMount.cy.jsx +++ b/system-tests/projects/react17/src/UsingLegacyMount.cy.jsx @@ -13,10 +13,10 @@ describe('using legacy mount', () => { mount().get('h1').contains('Hello world') .then(() => { - const warning = log.getCalls().find(call => call.args[0].name === 'warning') + const warning = log.getCalls().find((call) => call.args[0].name === 'warning') expect(warning).to.be.undefined expect(err).not.to.have.been.called }) }) -}) \ No newline at end of file +}) diff --git a/system-tests/projects/react18/src/UsingLegacyMount.cy.jsx b/system-tests/projects/react18/src/UsingLegacyMount.cy.jsx index 56baea3fff0d..3bb5e5147cbc 100644 --- a/system-tests/projects/react18/src/UsingLegacyMount.cy.jsx +++ b/system-tests/projects/react18/src/UsingLegacyMount.cy.jsx @@ -14,10 +14,10 @@ describe('using legacy mount', () => { mount().get('h1').contains('Hello world') .then(() => { const msg = '[cypress/react]: You are using `cypress/react`, which is designed for React <= 17. Consider changing to `cypress/react18`, which is designed for React 18.' - const warning = log.getCalls().find(call => call.args[0].name === 'warning') + const warning = log.getCalls().find((call) => call.args[0].name === 'warning') expect(warning.lastArg.message).to.eq(msg) expect(err).to.have.been.calledWith(msg) }) }) -}) \ No newline at end of file +}) diff --git a/system-tests/projects/runner-ct-specs/src/Errors.jsx b/system-tests/projects/runner-ct-specs/src/Errors.jsx index 4d6304d7ba98..ce105280eef4 100644 --- a/system-tests/projects/runner-ct-specs/src/Errors.jsx +++ b/system-tests/projects/runner-ct-specs/src/Errors.jsx @@ -1,7 +1,6 @@ import React from 'react' const Errors = ({ throwOnMount = false }) => { - const one = (msg) => { two(msg) } diff --git a/system-tests/projects/vue3-vite-ts-configured/src/components/HelloWorld.cy.ts b/system-tests/projects/vue3-vite-ts-configured/src/components/HelloWorld.cy.ts index 6a62e7ca2b7a..42f53e7c0354 100644 --- a/system-tests/projects/vue3-vite-ts-configured/src/components/HelloWorld.cy.ts +++ b/system-tests/projects/vue3-vite-ts-configured/src/components/HelloWorld.cy.ts @@ -4,8 +4,8 @@ import HelloWorld from './HelloWorld.vue' it('works', () => { mount(HelloWorld, { props: { - msg: 'Hello!' - } + msg: 'Hello!', + }, }) cy.contains('Hello!') diff --git a/system-tests/projects/vue3-vite-ts-configured/vite.config.ts b/system-tests/projects/vue3-vite-ts-configured/vite.config.ts index 7c986c08360b..d7363598fde0 100644 --- a/system-tests/projects/vue3-vite-ts-configured/vite.config.ts +++ b/system-tests/projects/vue3-vite-ts-configured/vite.config.ts @@ -12,6 +12,6 @@ export default defineConfig({ // not seem to like. // https://vitejs.dev/config/#server-fs-allow allow: ['/root/cypress/', '/root/.cache/', '/tmp/', '/Users/', '/private/'], - } - } + }, + }, }) diff --git a/system-tests/projects/vue3-vite-ts-custom-index-html/vite.config.ts b/system-tests/projects/vue3-vite-ts-custom-index-html/vite.config.ts index d2af1d2e90b0..d5feebfa5be7 100644 --- a/system-tests/projects/vue3-vite-ts-custom-index-html/vite.config.ts +++ b/system-tests/projects/vue3-vite-ts-custom-index-html/vite.config.ts @@ -12,7 +12,7 @@ export default defineConfig({ // not seem to like. // https://vitejs.dev/config/#server-fs-allow allow: ['/root/cypress/', '/root/.cache/', '/tmp/', '/Users/', '/private/'], - } + }, }, - define: { 'process.env.BABEL_TYPES_8_BREAKING': 'false' } + define: { 'process.env.BABEL_TYPES_8_BREAKING': 'false' }, }) diff --git a/system-tests/projects/vue3-vite-ts-unconfigured/vite.config.ts b/system-tests/projects/vue3-vite-ts-unconfigured/vite.config.ts index 315212d69a7b..05c17402a4a9 100644 --- a/system-tests/projects/vue3-vite-ts-unconfigured/vite.config.ts +++ b/system-tests/projects/vue3-vite-ts-unconfigured/vite.config.ts @@ -3,5 +3,5 @@ import vue from '@vitejs/plugin-vue' // https://vitejs.dev/config/ export default defineConfig({ - plugins: [vue()] + plugins: [vue()], }) diff --git a/system-tests/projects/vuecli5vue3-configured/cypress/support/component.js b/system-tests/projects/vuecli5vue3-configured/cypress/support/component.js index 6ef432cb870e..66734f8b1516 100644 --- a/system-tests/projects/vuecli5vue3-configured/cypress/support/component.js +++ b/system-tests/projects/vuecli5vue3-configured/cypress/support/component.js @@ -1 +1 @@ -// TODO: source the example support file \ No newline at end of file +// TODO: source the example support file diff --git a/system-tests/projects/vueclivue2-configured/src/components/HelloWorld.cy.js b/system-tests/projects/vueclivue2-configured/src/components/HelloWorld.cy.js index c6d1d9636427..196f73d47f1d 100644 --- a/system-tests/projects/vueclivue2-configured/src/components/HelloWorld.cy.js +++ b/system-tests/projects/vueclivue2-configured/src/components/HelloWorld.cy.js @@ -12,14 +12,14 @@ describe('', () => { msg: slotContent, }, extensions: { - components: { + components: { // stubbing for simplicity, this smoke test does not depend on // GlobalComponent GlobalComponentWithCustomDirective: { - render: h => h('div') - } + render: (h) => h('div'), + }, }, - } + }, }) cy.contains('h1', slotContent) diff --git a/system-tests/projects/vueclivue2-configured/src/mount.cy.js b/system-tests/projects/vueclivue2-configured/src/mount.cy.js index 035aff2c4681..2bf1f24748d6 100644 --- a/system-tests/projects/vueclivue2-configured/src/mount.cy.js +++ b/system-tests/projects/vueclivue2-configured/src/mount.cy.js @@ -4,11 +4,13 @@ import HelloWorld from './components/HelloWorld.vue' describe('mount', () => { it('throws error when receiving removed mounting options', () => { for (const key of ['cssFile', 'cssFiles', 'style', 'styles', 'stylesheet', 'stylesheets']) { - expect(() => mount(HelloWorld, { - [key]: `body { background: red; }` - })).to.throw( - `The \`${key}\` mounting option is no longer supported.` + expect(() => { + return mount(HelloWorld, { + [key]: `body { background: red; }`, + }) + }).to.throw( + `The \`${key}\` mounting option is no longer supported.`, ) } }) -}) \ No newline at end of file +}) diff --git a/system-tests/projects/vueclivue2-unconfigured/src/main.js b/system-tests/projects/vueclivue2-unconfigured/src/main.js index 418f3996d1f6..3fc45510aad3 100644 --- a/system-tests/projects/vueclivue2-unconfigured/src/main.js +++ b/system-tests/projects/vueclivue2-unconfigured/src/main.js @@ -4,5 +4,7 @@ import App from './App.vue' Vue.config.productionTip = false new Vue({ - render: function (h) { return h(App) }, + render (h) { + return h(App) + }, }).$mount('#app') From 2c355109383a4b570216a0e60e3ab26d328da29c Mon Sep 17 00:00:00 2001 From: Mike Plummer Date: Mon, 13 Feb 2023 16:21:41 -0600 Subject: [PATCH 06/10] fix: Suppress filesystem errors during glob search (#25774) --- cli/CHANGELOG.md | 1 + .../src/sources/FileDataSource.ts | 14 +++++++-- .../test/unit/sources/FileDataSource.spec.ts | 29 +++++++++++++++++++ 3 files changed, 41 insertions(+), 3 deletions(-) diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 00fc661f372a..4c2141b646f7 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -16,6 +16,7 @@ _Released 02/14/2023 (PENDING)_ - Fixed an issue in middleware where error-handling code could itself generate an error and fail to report the original issue. Fixes [#22825](https://github.com/cypress-io/cypress/issues/22825). - Fixed an issue that could cause the Debug page to display a different number of specs for in-progress runs than shown in Cypress Cloud. Fixes [#25647](https://github.com/cypress-io/cypress/issues/25647). - Fixed an issue introduced in Cypress 12.3.0 where custom browsers that relied on process environment variables were not found on macOS arm64 architectures. Fixed in [#25753](https://github.com/cypress-io/cypress/pull/25753). +- Fixed an issue where Cypress would fail to load any specs if the project `specPattern` included a resource that could not be accessed due to filesystem permissions. Fixes [#24109](https://github.com/cypress-io/cypress/issues/24109). **Misc:** diff --git a/packages/data-context/src/sources/FileDataSource.ts b/packages/data-context/src/sources/FileDataSource.ts index 4ef6b9671b05..52b07410e46b 100644 --- a/packages/data-context/src/sources/FileDataSource.ts +++ b/packages/data-context/src/sources/FileDataSource.ts @@ -34,7 +34,7 @@ export class FileDataSource { return this.ctx.fs.readFile(path.join(this.ctx.currentProject, relative), 'utf-8') } - async getFilesByGlob (cwd: string, glob: string | string[], globOptions?: GlobbyOptions) { + async getFilesByGlob (cwd: string, glob: string | string[], globOptions: GlobbyOptions = {}): Promise { const globs = ([] as string[]).concat(glob).map((globPattern) => { const workingDirectoryPrefix = path.join(cwd, path.sep) @@ -49,7 +49,7 @@ export class FileDataSource { return globPattern }) - const ignoreGlob = (globOptions?.ignore ?? []).concat('**/node_modules/**') + const ignoreGlob = (globOptions.ignore ?? []).concat('**/node_modules/**') if (os.platform() === 'win32') { // globby can't work with backwards slashes @@ -72,7 +72,15 @@ export class FileDataSource { return files } catch (e) { - debug('error in getFilesByGlob %o', e) + if (!globOptions.suppressErrors) { + // Log error and retry with filesystem errors suppressed - this allows us to find partial + // results even if the glob search hits permission issues (#24109) + debug('Error in getFilesByGlob %o, retrying with filesystem errors suppressed', e) + + return await this.getFilesByGlob(cwd, glob, { ...globOptions, suppressErrors: true }) + } + + debug('Non-suppressible error in getFilesByGlob %o', e) return [] } diff --git a/packages/data-context/test/unit/sources/FileDataSource.spec.ts b/packages/data-context/test/unit/sources/FileDataSource.spec.ts index 2484c427cb1d..98da6e245d3f 100644 --- a/packages/data-context/test/unit/sources/FileDataSource.spec.ts +++ b/packages/data-context/test/unit/sources/FileDataSource.spec.ts @@ -272,6 +272,35 @@ describe('FileDataSource', () => { }, ) }) + + it('should retry search with `suppressErrors` if non-suppressed attempt fails', async () => { + matchGlobsStub.onFirstCall().rejects(new Error('mocked filesystem error')) + matchGlobsStub.onSecondCall().resolves(mockMatches) + + const files = await fileDataSource.getFilesByGlob( + '/', + '/cypress/e2e/**.cy.js', + { absolute: false, objectMode: true }, + ) + + expect(files).to.eq(mockMatches) + expect(matchGlobsStub).to.have.callCount(2) + expect(matchGlobsStub.getCall(0).args[1].suppressErrors).to.be.undefined + expect(matchGlobsStub.getCall(1).args[1].suppressErrors).to.equal(true) + }) + + it('should return empty array if retry with suppression fails', async () => { + matchGlobsStub.rejects(new Error('mocked filesystem error')) + + const files = await fileDataSource.getFilesByGlob( + '/', + '/cypress/e2e/**.cy.js', + { absolute: false, objectMode: true }, + ) + + expect(files).to.eql([]) + expect(matchGlobsStub).to.have.callCount(2) + }) }) }) }) From d1ac427fc334e73706a6c9ca0ae9f05b91f4e4fd Mon Sep 17 00:00:00 2001 From: Ryan Manuel Date: Tue, 14 Feb 2023 08:20:56 -0600 Subject: [PATCH 07/10] chore: issue with ts-loader missing in binary and problematic esbuild norewrite construct (#25797) --- .circleci/workflows.yml | 10 +++++----- packages/server/lib/browsers/memory/index.ts | 6 ++++-- scripts/binary/binary-cleanup.js | 4 +++- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/.circleci/workflows.yml b/.circleci/workflows.yml index 4befcf670f57..f384c3074c81 100644 --- a/.circleci/workflows.yml +++ b/.circleci/workflows.yml @@ -28,7 +28,7 @@ mainBuildFilters: &mainBuildFilters only: - develop - /^release\/\d+\.\d+\.\d+$/ - - 'mikep/22825-next-middleware' + - 'ryanm/fix/issues-with-v8-snapshot-on-develop' # usually we don't build Mac app - it takes a long time # but sometimes we want to really confirm we are doing the right thing @@ -37,7 +37,7 @@ macWorkflowFilters: &darwin-workflow-filters when: or: - equal: [ develop, << pipeline.git.branch >> ] - - equal: [ 'mikep/22825-next-middleware', << pipeline.git.branch >> ] + - equal: [ 'ryanm/fix/issues-with-v8-snapshot-on-develop', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -46,7 +46,7 @@ linuxArm64WorkflowFilters: &linux-arm64-workflow-filters when: or: - equal: [ develop, << pipeline.git.branch >> ] - - equal: [ 'mikep/22825-next-middleware', << pipeline.git.branch >> ] + - equal: [ 'ryanm/fix/issues-with-v8-snapshot-on-develop', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -64,7 +64,7 @@ windowsWorkflowFilters: &windows-workflow-filters when: or: - equal: [ develop, << pipeline.git.branch >> ] - - equal: [ 'mschile/chrome_memory_fix', << pipeline.git.branch >> ] + - equal: [ 'ryanm/fix/issues-with-v8-snapshot-on-develop', << pipeline.git.branch >> ] - matches: pattern: /^release\/\d+\.\d+\.\d+$/ value: << pipeline.git.branch >> @@ -130,7 +130,7 @@ commands: - run: name: Check current branch to persist artifacts command: | - if [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "mikep/22825-next-middleware" ]]; then + if [[ "$CIRCLE_BRANCH" != "develop" && "$CIRCLE_BRANCH" != "release/"* && "$CIRCLE_BRANCH" != "ryanm/fix/issues-with-v8-snapshot-on-develop" ]]; then echo "Not uploading artifacts or posting install comment for this branch." circleci-agent step halt fi diff --git a/packages/server/lib/browsers/memory/index.ts b/packages/server/lib/browsers/memory/index.ts index 9bcddb6468a7..ded700422ddc 100644 --- a/packages/server/lib/browsers/memory/index.ts +++ b/packages/server/lib/browsers/memory/index.ts @@ -18,8 +18,10 @@ const debugVerbose = debugModule('cypress-verbose:server:browsers:memory') const MEMORY_THRESHOLD_PERCENTAGE = Number(process.env.CYPRESS_INTERNAL_MEMORY_THRESHOLD_PERCENTAGE) || 50 const MEMORY_PROFILER_INTERVAL = Number(process.env.CYPRESS_INTERNAL_MEMORY_PROFILER_INTERVAL) || 1000 const MEMORY_FOLDER = process.env.CYPRESS_INTERNAL_MEMORY_FOLDER_PATH || path.join('cypress', 'logs', 'memory') -const SAVE_MEMORY_STATS = ['1', 'true'].includes(process.env.CYPRESS_INTERNAL_MEMORY_SAVE_STATS?.toLowerCase() as string) -const SKIP_GC = ['1', 'true'].includes(process.env.CYPRESS_INTERNAL_MEMORY_SKIP_GC?.toLowerCase() as string) +const CYPRESS_INTERNAL_MEMORY_SAVE_STATS = process.env.CYPRESS_INTERNAL_MEMORY_SAVE_STATS || 'false' +const SAVE_MEMORY_STATS = ['1', 'true'].includes(CYPRESS_INTERNAL_MEMORY_SAVE_STATS.toLowerCase()) +const CYPRESS_INTERNAL_MEMORY_SKIP_GC = process.env.CYPRESS_INTERNAL_MEMORY_SKIP_GC || 'false' +const SKIP_GC = ['1', 'true'].includes(CYPRESS_INTERNAL_MEMORY_SKIP_GC.toLowerCase()) const KIBIBYTE = 1024 const FOUR_GIBIBYTES = 4 * (KIBIBYTE ** 3) diff --git a/scripts/binary/binary-cleanup.js b/scripts/binary/binary-cleanup.js index 2e24e898030b..507d35b6911d 100644 --- a/scripts/binary/binary-cleanup.js +++ b/scripts/binary/binary-cleanup.js @@ -40,8 +40,10 @@ const getDependencyPathsToKeep = async (buildAppDir) => { const startingEntryPoints = [ 'packages/server/lib/plugins/child/require_async_child.js', 'packages/server/lib/plugins/child/register_ts_node.js', + 'packages/server/node_modules/@cypress/webpack-batteries-included-preprocessor/index.js', + 'packages/server/node_modules/ts-loader/index.js', 'packages/rewriter/lib/threads/worker.js', - 'node_modules/@cypress/webpack-batteries-included-preprocessor/index.js', + 'npm/webpack-batteries-included-preprocessor/index.js', 'node_modules/webpack/lib/webpack.js', 'node_modules/webpack-dev-server/lib/Server.js', 'node_modules/html-webpack-plugin-4/index.js', From 06187121b15e24e3835305e3ce38615a5a2f37b4 Mon Sep 17 00:00:00 2001 From: Emily Rohrbough Date: Tue, 14 Feb 2023 12:35:01 -0600 Subject: [PATCH 08/10] chore: update changelog linting (#25809) --- .../get-binary-release-data.js | 2 +- scripts/semantic-commits/get-linked-issues.js | 2 +- .../semantic-commits/validate-changelog.js | 52 ++++++++++++----- .../validate-changelog-spec.js | 58 ++++++++++++++++--- ...sues.js => validate-linked-issues-spec.js} | 15 ++--- 5 files changed, 96 insertions(+), 33 deletions(-) rename scripts/unit/semantic-commits/{validate-linked-issues.js => validate-linked-issues-spec.js} (79%) diff --git a/scripts/semantic-commits/get-binary-release-data.js b/scripts/semantic-commits/get-binary-release-data.js index 83078fa9b4c6..6e5d1f9dcf63 100644 --- a/scripts/semantic-commits/get-binary-release-data.js +++ b/scripts/semantic-commits/get-binary-release-data.js @@ -70,7 +70,7 @@ const getReleaseData = async (latestReleaseInfo) => { return } - const { data: pullRequest } = await octokit.request('GET /repos/{owner}/{repo}/pull/{pull_number}', { + const { data: pullRequest } = await octokit.request('GET /repos/{owner}/{repo}/pulls/{pull_number}', { owner: 'cypress-io', repo: 'cypress', pull_number: references[0].issue, diff --git a/scripts/semantic-commits/get-linked-issues.js b/scripts/semantic-commits/get-linked-issues.js index eff5191debb8..ebc95e6676b1 100644 --- a/scripts/semantic-commits/get-linked-issues.js +++ b/scripts/semantic-commits/get-linked-issues.js @@ -7,7 +7,7 @@ const getLinkedIssues = (body = '') => { // remove markdown comments body.replace(/()|()|(