mirror of
https://github.com/cypress-io/cypress.git
synced 2026-01-16 12:10:05 -06:00
* Remove unused stuff * Fix eslint errors * Use local cypress running script * Fix dependency resolution * Revert "Fix dependency resolution" This reverts commit01a70be211. * Add @cypress/react CI * Properly resolve @types pacakges * Run tests with mocha * Fix cypress tests * Fix or skip some specs * Add retries to the card-spec.js * Remove jest mocks * Run e2e examples on CI * Fix yarn cache key * Fix e2e examples jobs * Rename cypress-react-unit-test with @cypress/react * Fix circleci.yml * Revert "Fix e2e examples jobs" This reverts commitefcc7c4d19. * Revert " Rename cypress-react-unit-test with @cypress/react" This reverts commit4febfcc82b. * Replce cypress-react-unit-test with @cypress/react * Persist build artifacts * Fix working directory paths circle.yml * Fix more CI * adding yarn.lock files * Make package.json for folder * Remove .npmrc * Update circle.yml * Remove unused files * Copy plugins files to the "dist" folder * Fix links to the github repos * Move init wizard from npm/react/init to npm/wizard * Move init wizard from npm/react/init to npm/wizard * Implement initial vue template * Run wizard tests on CI * Refactor continue: bool to success: bool for better code readability * Fix circleci.yml * Use only absolute paths for tests * Stub process.exit calls * Remove useless comments * Add installation cypress to the wizard logic * More improvements * Include packages/examples/cypress into git * Commit new files * Use packages/example as SST for generated files * Last improvements for wizard * Update packages/server/lib/scaffold.js * Rename wizard to create-cypress-tests * Fix circleci config * Fix snapshot tests * Run all create-cypress-tests on ci * Do not install plugins and scaffold files from kitchensink * Ignore integration/examples folder for packages/example * Run create-cypress-tests-tests on CI * Add copy example cross-platform script * Use copy example script in tests * feat: create-cypress-tests auto-inject config (#9116) * Implement the basic babel code transformation for configs * Add more tests for edge-cases * Add snapshot tests for autogenerated code for each template * Add git status guard * Add git status guard * Fix last test * Fix tests * Revert changes for packages/example * Revert changes for packages/example/tsconfig.json * Prepeare package for the release * Fix inquirer name * v0.0.125 * v0.0.127 * v0.0.128 * v0.0.130 * v0.0.131 * Add more UX features * Add vue-cli template * Make src as default folder for vue-cli template * Revert dev-time changes * Run appveyour windows build * Run full appveyour build * Fix circle.yml * Update plugins * Join paths for windows * Revert example/lib changes * Fix tests * Revert unnecessary changes * Implement dev-server dependency installation * Update npm/create-cypress-tests/README.md * Properly exit process if react tests failed * Fix circleci reporter not found * Update nextjs plugin * react-scripts plugin for dev-server * Implement webpack-file plugin support * v0.0.502 * v0.0.503 * Implement rollup support * Implement babel plugin * Update webpack options * Fix nextjs plugin * Unmount components in beforeEach to prevent side-effects * Rename preprocessor to injectDevServer * Fix next.js example * Fix webpack-options exampel * Reproduce rollup problem * Update create-cypress-tests snapshots * Do not run examples/rollup * Uncomment test * Change paralllelism * Remove useless checks * Update snapshots Co-authored-by: Jessica Sachs <jess@jessicasachs.io>
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
// @ts-check
|
|
const debug = require('debug')('@cypress/react')
|
|
const loadConfig = require('next/dist/next-server/server/config').default
|
|
const getNextJsBaseWebpackConfig = require('next/dist/build/webpack-config').default
|
|
|
|
async function getNextWebpackConfig (config) {
|
|
const nextConfig = await loadConfig('development', config.projectRoot)
|
|
const nextWebpackConfig = await getNextJsBaseWebpackConfig(
|
|
config.projectRoot,
|
|
{
|
|
buildId: `@cypress/react-${Math.random().toString()}`,
|
|
config: nextConfig,
|
|
dev: true,
|
|
isServer: false,
|
|
pagesDir: config.projectRoot,
|
|
entrypoints: {},
|
|
rewrites: [],
|
|
},
|
|
)
|
|
|
|
debug('resolved next.js webpack config %o', nextWebpackConfig)
|
|
|
|
return nextWebpackConfig
|
|
}
|
|
|
|
let webpackConfigCache = null
|
|
|
|
/** Resolving next.js webpack and all config with plugin takes long, so cache the webpack configuration */
|
|
module.exports = async function findNextWebpackConfig (config) {
|
|
// ⛔️ ⛔️ Comment this `if` for debugging
|
|
if (webpackConfigCache !== null) {
|
|
return webpackConfigCache
|
|
}
|
|
|
|
webpackConfigCache = await getNextWebpackConfig(config)
|
|
debug('created and cached webpack preprocessor based on next.config.js', webpackConfigCache)
|
|
|
|
return webpackConfigCache
|
|
}
|