@@ -386,8 +386,7 @@ describe('rollup-plugin', () => {
386386} ) ;
387387
388388describe ( 'stripSideEffectImportsMatching' , ( ) => {
389- it ( 'strips only specified side effects' , ( ) => {
390- // assert all specified imports are stripped
389+ it ( 'strips only specified side effects in ESM' , ( ) => {
391390 expect (
392391 stripSideEffectImportsMatching (
393392 `import React from 'react';
@@ -410,7 +409,6 @@ export default function Button() {
410409 } ) ;
411410
412411 it ( 'leaves code alone if no side effects specified' , ( ) => {
413- // assert empty array returns code as expected
414412 const code = `import React from 'react';
415413import 'button.vanilla.css';
416414import './foobar.js';
@@ -420,4 +418,26 @@ export default function Button() {
420418}` ;
421419 expect ( stripSideEffectImportsMatching ( code , [ ] ) ) . toBe ( code ) ;
422420 } ) ;
421+
422+ it ( 'strips only specified side effects in CJS' , ( ) => {
423+ expect (
424+ stripSideEffectImportsMatching (
425+ `const React = require('react');
426+ require('button.vanilla.css');
427+ require('./foobar.js');
428+
429+ module.exports = function Button() {
430+ return <button>My Button</button>;
431+ }` ,
432+ [ 'button.vanilla.css' , 'checkbox.vanilla.css' , 'radio.vanilla.css' ] ,
433+ ) ,
434+ ) . toBe (
435+ `const React = require('react');
436+ require('./foobar.js');
437+
438+ module.exports = function Button() {
439+ return <button>My Button</button>;
440+ }` ,
441+ ) ;
442+ } ) ;
423443} ) ;
0 commit comments