mirror of
https://github.com/cypress-io/cypress.git
synced 2026-02-12 02:00:06 -06:00
* update cli exports
* add additional react adapters
* update system test infra to better cover react versions
* use idiomatic cy.mount and cy.unmount
* add additional test projects
* update tests
* add new modules
* remove dead code, organize code more
* add react 16 project
* update webpack to resolve react correctly
* add test for react 16
* update snaps
* add react adapters
* ignore cli/react files
* use official rollup plugin to bundle npm/react
* update yarn lock for webpack dev server tests
* update vite dev server projects
* update config
* remove console.log
* update tsconfig
* fix tests
* fix another test
* update snaps
* update snaps
* fix build
* remove react{16,17}, update tests
* update build
* add missing export
* update test
* fixing tests
* fixing tests
* update snaps
* update snaps again
* build artifacts on circle
* dont try to update rollup plugin
* update circle
* update
* add missing build step
* update deps, remove old code
* revert circle changes
* do not hoist deps from react18
* remove deps
75 lines
1.5 KiB
JavaScript
75 lines
1.5 KiB
JavaScript
// CommonJS to easily share across packages
|
|
const ts = require('rollup-plugin-typescript2')
|
|
const { default: resolve } = require('@rollup/plugin-node-resolve')
|
|
const commonjs = require('@rollup/plugin-commonjs')
|
|
|
|
const pkg = require('./package.json')
|
|
|
|
const banner = `
|
|
/**
|
|
* ${pkg.name} v${pkg.version}
|
|
* (c) ${new Date().getFullYear()} Cypress.io
|
|
* Released under the MIT License
|
|
*/
|
|
`
|
|
|
|
function createEntry (options) {
|
|
const {
|
|
format,
|
|
input,
|
|
} = options
|
|
|
|
const config = {
|
|
input,
|
|
external: [
|
|
'react',
|
|
'react-dom',
|
|
'react-dom/client',
|
|
],
|
|
plugins: [
|
|
resolve(),
|
|
commonjs(),
|
|
ts({
|
|
check: format === 'es',
|
|
tsconfigOverride: {
|
|
compilerOptions: {
|
|
declaration: format === 'es',
|
|
target: 'es5',
|
|
module: format === 'cjs' ? 'es2015' : 'esnext',
|
|
},
|
|
exclude: ['tests'],
|
|
},
|
|
}),
|
|
],
|
|
output: {
|
|
banner,
|
|
name: 'CypressReact',
|
|
file: pkg.unpkg,
|
|
format,
|
|
globals: {
|
|
react: 'React',
|
|
'react-dom': 'ReactDOM',
|
|
'react-dom/client': 'ReactDOM/client',
|
|
},
|
|
},
|
|
}
|
|
|
|
if (format === 'es') {
|
|
config.output.file = pkg.module
|
|
}
|
|
|
|
if (format === 'cjs') {
|
|
config.output.file = pkg.main
|
|
}
|
|
|
|
// eslint-disable-next-line no-console
|
|
console.log(`Building ${format}: ${config.output.file}`)
|
|
|
|
return config
|
|
}
|
|
|
|
module.exports = [
|
|
createEntry({ format: 'es', input: 'src/index.ts' }),
|
|
createEntry({ format: 'cjs', input: 'src/index.ts' }),
|
|
]
|