diff --git a/test/cli/no-treeshake/_config.js b/test/cli/no-treeshake/_config.js new file mode 100644 index 0000000..18d8b69 --- /dev/null +++ b/test/cli/no-treeshake/_config.js @@ -0,0 +1,4 @@ +module.exports = { + description: 'generates IIFE export with all code', + command: 'rollup main.js --format iife --name shakeless --no-treeshake' +}; diff --git a/test/cli/no-treeshake/_expected.js b/test/cli/no-treeshake/_expected.js new file mode 100644 index 0000000..6c3cf53 --- /dev/null +++ b/test/cli/no-treeshake/_expected.js @@ -0,0 +1,10 @@ +var shakeless = (function () { + 'use strict'; + + const version = '1.2.0'; + + var main = ( x, y ) => x + y; + + return main; + +}()); diff --git a/test/cli/no-treeshake/main.js b/test/cli/no-treeshake/main.js new file mode 100644 index 0000000..1aa6a51 --- /dev/null +++ b/test/cli/no-treeshake/main.js @@ -0,0 +1,3 @@ +const version = '1.2.0'; + +export default ( x, y ) => x + y; diff --git a/test/form/no-treeshake/_config.js b/test/form/no-treeshake/_config.js new file mode 100644 index 0000000..a997358 --- /dev/null +++ b/test/form/no-treeshake/_config.js @@ -0,0 +1,11 @@ +module.exports = { + description: 'all code should be included if tree-shaking is disabled', + options: { + external: [ 'external' ], + globals: { + external: 'external' + }, + moduleName: /* not shaken, but */ 'stirred', + treeshake: false + } +}; diff --git a/test/form/no-treeshake/_expected/amd.js b/test/form/no-treeshake/_expected/amd.js new file mode 100644 index 0000000..c4a0beb --- /dev/null +++ b/test/form/no-treeshake/_expected/amd.js @@ -0,0 +1,20 @@ +define(['exports', 'external'], function (exports, external) { 'use strict'; + + var foo = 'unused'; + + const quux = 1; + + const other = () => quux; + + function bar () { + return foo; + } + + function baz () { + return 13 + external.value; + } + + exports.baz = baz; + exports.strange = quux; + +}); diff --git a/test/form/no-treeshake/_expected/cjs.js b/test/form/no-treeshake/_expected/cjs.js new file mode 100644 index 0000000..dbd1396 --- /dev/null +++ b/test/form/no-treeshake/_expected/cjs.js @@ -0,0 +1,20 @@ +'use strict'; + +var external = require('external'); + +var foo = 'unused'; + +const quux = 1; + +const other = () => quux; + +function bar () { + return foo; +} + +function baz () { + return 13 + external.value; +} + +exports.baz = baz; +exports.strange = quux; diff --git a/test/form/no-treeshake/_expected/es6.js b/test/form/no-treeshake/_expected/es6.js new file mode 100644 index 0000000..73ea36c --- /dev/null +++ b/test/form/no-treeshake/_expected/es6.js @@ -0,0 +1,17 @@ +import * as external from 'external'; + +var foo = 'unused'; + +const quux = 1; + +const other = () => quux; + +function bar () { + return foo; +} + +function baz () { + return 13 + external.value; +} + +export { baz, quux as strange }; diff --git a/test/form/no-treeshake/_expected/iife.js b/test/form/no-treeshake/_expected/iife.js new file mode 100644 index 0000000..4835548 --- /dev/null +++ b/test/form/no-treeshake/_expected/iife.js @@ -0,0 +1,21 @@ +(function (exports,external) { + 'use strict'; + + var foo = 'unused'; + + const quux = 1; + + const other = () => quux; + + function bar () { + return foo; + } + + function baz () { + return 13 + external.value; + } + + exports.baz = baz; + exports.strange = quux; + +}((this.stirred = this.stirred || {}),external)); diff --git a/test/form/no-treeshake/_expected/umd.js b/test/form/no-treeshake/_expected/umd.js new file mode 100644 index 0000000..715d58b --- /dev/null +++ b/test/form/no-treeshake/_expected/umd.js @@ -0,0 +1,24 @@ +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('external')) : + typeof define === 'function' && define.amd ? define(['exports', 'external'], factory) : + (factory((global.stirred = global.stirred || {}),global.external)); +}(this, function (exports,external) { 'use strict'; + + var foo = 'unused'; + + const quux = 1; + + const other = () => quux; + + function bar () { + return foo; + } + + function baz () { + return 13 + external.value; + } + + exports.baz = baz; + exports.strange = quux; + +})); diff --git a/test/form/no-treeshake/foo.js b/test/form/no-treeshake/foo.js new file mode 100644 index 0000000..e4c7f51 --- /dev/null +++ b/test/form/no-treeshake/foo.js @@ -0,0 +1 @@ +export default 'unused'; diff --git a/test/form/no-treeshake/main.js b/test/form/no-treeshake/main.js new file mode 100644 index 0000000..0ccd5e1 --- /dev/null +++ b/test/form/no-treeshake/main.js @@ -0,0 +1,11 @@ +import * as external from 'external'; +import foo from './foo.js' +export { quux as strange } from './quux.js'; + +function bar () { + return foo; +} + +export function baz () { + return 13 + external.value; +} diff --git a/test/form/no-treeshake/quux.js b/test/form/no-treeshake/quux.js new file mode 100644 index 0000000..ceb5f12 --- /dev/null +++ b/test/form/no-treeshake/quux.js @@ -0,0 +1,3 @@ +export const quux = 1; + +const other = () => quux;