Cypress preprocessor for bundling JavaScript via rollup
First install node.js. Then:
npm install cypress-rollup-preprocessor --save-dev
This package relies on the following peer dependencies:
- rollup
It is likely you already have these installed either directly or as a transient dependency, but if not, you will need to install them.
npm install --save-dev rollup
This version is only compatible with rollup 2.x+
Check Cypress' official documentation about preprocessors
import { defineConfig } from 'cypress'
import rollupPreprocessor from 'cypress-rollup-preprocessor'
export default defineConfig({
e2e: {
setupNodeEvents (on, config) {
on('file:preprocessor', rollupPreprocessor())
},
},
})
const rollupPreprocessor = require("cypress-rollup-preprocessor");
module.exports = (on) => {
on("file:preprocessor", rollupPreprocessor());
};
Pass in options as the argument to rollup
:
import rollupPreprocessor from 'cypress-rollup-preprocessor'
// Using the options from rollup.config.js
import rollupConfig from '<dir>/rollup.config'
const { output: outputOptions, ...inputOptions } = rollupConfig
// ...
on('file:preprocessor', rollupPreprocessor({ inputOptions, outputOptions }))
// ...
Object of rollup input options. You can just require
in the options from your
rollup.config.js
to use the same options as your app.
Reference: https://rollupjs.org/guide/en/#inputoptions-object
Object of rollup output options. Reference: https://rollupjs.org/guide/en/#outputoptions-object
Please read the Contributing guidelines.
To run tests, first install nodeunit and any dependencies via npm:
npm ci
Run tests with:
npm test
Many approaches, patterns and standards were copied from:
- https://github.com/cypress-io/cypress-webpack-preprocessor
- https://github.com/cypress-io/cypress-watch-preprocessor
This project is licensed under the terms of the MIT license.