From ec242aba276b896933249050665dfd0e7d07edb0 Mon Sep 17 00:00:00 2001 From: Abenezer Abebe Date: Thu, 17 Jan 2019 17:04:18 +0100 Subject: [PATCH] fix: remove unused files --- .../__snapshots__/terserPlugin.test.js.snap | 118 ---------------- .../__testfixtures__/terserPlugin-0.input.js | 5 - .../__testfixtures__/terserPlugin-1.input.js | 10 -- .../__testfixtures__/terserPlugin-2.input.js | 10 -- .../__testfixtures__/terserPlugin-3.input.js | 24 ---- .../__testfixtures__/terserPlugin-4.input.js | 28 ---- .../migrate/terserPlugin/terserPlugin.test.js | 9 -- packages/migrate/terserPlugin/terserPlugin.ts | 128 ------------------ 8 files changed, 332 deletions(-) delete mode 100644 packages/migrate/terserPlugin/__snapshots__/terserPlugin.test.js.snap delete mode 100644 packages/migrate/terserPlugin/__testfixtures__/terserPlugin-0.input.js delete mode 100644 packages/migrate/terserPlugin/__testfixtures__/terserPlugin-1.input.js delete mode 100644 packages/migrate/terserPlugin/__testfixtures__/terserPlugin-2.input.js delete mode 100644 packages/migrate/terserPlugin/__testfixtures__/terserPlugin-3.input.js delete mode 100644 packages/migrate/terserPlugin/__testfixtures__/terserPlugin-4.input.js delete mode 100644 packages/migrate/terserPlugin/terserPlugin.test.js delete mode 100644 packages/migrate/terserPlugin/terserPlugin.ts diff --git a/packages/migrate/terserPlugin/__snapshots__/terserPlugin.test.js.snap b/packages/migrate/terserPlugin/__snapshots__/terserPlugin.test.js.snap deleted file mode 100644 index 45d24c156c4..00000000000 --- a/packages/migrate/terserPlugin/__snapshots__/terserPlugin.test.js.snap +++ /dev/null @@ -1,118 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`terserPlugin transforms correctly using "terserPlugin-0" data 1`] = ` -"module.exports = { - optimization: { - minimize: true - } -}; -" -`; - -exports[`terserPlugin transforms correctly using "terserPlugin-1" data 1`] = ` -"const TerserPlugin = require(\\"terser-webpack-plugin\\"); -module.exports = { - devtool: \\"source-map\\", - optimization: { - minimize: true, - - minimizer: [new TerserPlugin({ - sourceMap: true, - compress: {} - })] - } -}; -" -`; - -exports[`terserPlugin transforms correctly using "terserPlugin-2" data 1`] = ` -"const TerserPlugin = require(\\"terser-webpack-plugin\\"); -module.exports = { - devtool: \\"source-map\\", - optimization: { - minimize: true, - - minimizer: [new TerserPlugin({ - sourceMap: true, - compress: {} - })] - } -}; -" -`; - -exports[`terserPlugin transforms correctly using "terserPlugin-3" data 1`] = ` -"module.exports = { - devtool: \\"eval\\", - entry: [\\"./src/index\\"], - - output: { - path: path.join(__dirname, \\"dist\\"), - filename: \\"index.js\\" - }, - - module: { - loaders: [ - { - test: /.js$/, - loaders: [\\"babel\\"], - include: path.join(__dirname, \\"src\\") - } - ] - }, - - resolve: { - root: path.resolve(\\"/src\\"), - modules: [\\"node_modules\\"] - }, - - plugins: [new webpack.optimize.OccurrenceOrderPlugin()], - debug: true, - - optimization: { - minimize: true - } -}; -" -`; - -exports[`terserPlugin transforms correctly using "terserPlugin-4" data 1`] = ` -"const TerserPlugin = require('terser-webpack-plugin'); -module.exports = { - devtool: 'eval', - - entry: [ - './src/index' - ], - - output: { - path: path.join(__dirname, 'dist'), - filename: 'index.js' - }, - - module: { - loaders: [{ - test: /.js$/, - loaders: ['babel'], - include: path.join(__dirname, 'src') - }] - }, - - resolve: { - root: path.resolve('/src'), - modules: ['node_modules'] - }, - - plugins: [new webpack.optimize.OccurrenceOrderPlugin()], - debug: true, - - optimization: { - minimize: true, - - minimizer: [new TerserPlugin({ - sourceMap: true - })] - } -}; -" -`; diff --git a/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-0.input.js b/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-0.input.js deleted file mode 100644 index 34096b69329..00000000000 --- a/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-0.input.js +++ /dev/null @@ -1,5 +0,0 @@ -const TerserPlugin = require("terser-webpack-plugin"); - -module.exports = { - plugins: [new TerserPlugin()] -}; diff --git a/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-1.input.js b/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-1.input.js deleted file mode 100644 index 867830e92aa..00000000000 --- a/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-1.input.js +++ /dev/null @@ -1,10 +0,0 @@ -const TerserPlugin = require("terser-webpack-plugin"); -module.exports = { - devtool: "source-map", - plugins: [ - new TerserPlugin({ - sourceMap: true, - compress: {} - }) - ] -}; diff --git a/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-2.input.js b/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-2.input.js deleted file mode 100644 index 867830e92aa..00000000000 --- a/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-2.input.js +++ /dev/null @@ -1,10 +0,0 @@ -const TerserPlugin = require("terser-webpack-plugin"); -module.exports = { - devtool: "source-map", - plugins: [ - new TerserPlugin({ - sourceMap: true, - compress: {} - }) - ] -}; diff --git a/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-3.input.js b/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-3.input.js deleted file mode 100644 index 045f23d3f8b..00000000000 --- a/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-3.input.js +++ /dev/null @@ -1,24 +0,0 @@ -const TerserPlugin = require("terser-webpack-plugin"); -module.exports = { - devtool: "eval", - entry: ["./src/index"], - output: { - path: path.join(__dirname, "dist"), - filename: "index.js" - }, - module: { - loaders: [ - { - test: /.js$/, - loaders: ["babel"], - include: path.join(__dirname, "src") - } - ] - }, - resolve: { - root: path.resolve("/src"), - modules: ["node_modules"] - }, - plugins: [new TerserPlugin(), new webpack.optimize.OccurrenceOrderPlugin()], - debug: true -}; diff --git a/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-4.input.js b/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-4.input.js deleted file mode 100644 index bb2a3f76d48..00000000000 --- a/packages/migrate/terserPlugin/__testfixtures__/terserPlugin-4.input.js +++ /dev/null @@ -1,28 +0,0 @@ -module.exports = { - devtool: 'eval', - entry: [ - './src/index' - ], - output: { - path: path.join(__dirname, 'dist'), - filename: 'index.js' - }, - module: { - loaders: [{ - test: /.js$/, - loaders: ['babel'], - include: path.join(__dirname, 'src') - }] - }, - resolve: { - root: path.resolve('/src'), - modules: ['node_modules'] - }, - plugins: [ - new webpack.optimize.TerserPlugin({ - sourceMap: true - }), - new webpack.optimize.OccurrenceOrderPlugin() - ], - debug: true -}; diff --git a/packages/migrate/terserPlugin/terserPlugin.test.js b/packages/migrate/terserPlugin/terserPlugin.test.js deleted file mode 100644 index b1b3ce7d647..00000000000 --- a/packages/migrate/terserPlugin/terserPlugin.test.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; - -const defineTest = require("@webpack-cli/utils/defineTest").default; - -defineTest(__dirname, "terserPlugin", "terserPlugin-0"); -defineTest(__dirname, "terserPlugin", "terserPlugin-1"); -defineTest(__dirname, "terserPlugin", "terserPlugin-2"); -defineTest(__dirname, "terserPlugin", "terserPlugin-3"); -defineTest(__dirname, "terserPlugin", "terserPlugin-4"); diff --git a/packages/migrate/terserPlugin/terserPlugin.ts b/packages/migrate/terserPlugin/terserPlugin.ts deleted file mode 100644 index 0fca0df5e9a..00000000000 --- a/packages/migrate/terserPlugin/terserPlugin.ts +++ /dev/null @@ -1,128 +0,0 @@ -import { - createProperty, - findPluginsArrayAndRemoveIfEmpty, - findPluginsByName, - getRequire, - safeTraverse, -} from "@webpack-cli/utils/ast-utils"; - -import { IJSCodeshift, INode } from "../types/NodePath"; - -/** - * - * Transform which: - * Removes TerserWebpackPlugin from plugins array, if no options is passed to the plugin. - * and adds `optimization.minimize: true` to config - * - * If any configuration is passed to TerserWebpackPlugin - * plugin instantiation is moved to `optimization.minimizer`. - * - * @param {Object} j - jscodeshift top-level import - * @param {Node} ast - jscodeshift ast to transform - * @returns {Node} ast - jscodeshift ast - */ - -export default function(j: IJSCodeshift, ast: INode): INode { - - let pluginVariableAssignment: string = null; - - const searchForRequirePlugin: INode = ast - .find(j.VariableDeclarator) - .filter( - j.filters.VariableDeclarator.requiresModule("terser-webpack-plugin"), - ); - - /** - * Look for a variable declaration which requires terser-webpack-plugin - * saves the name of this variable. - */ - searchForRequirePlugin.forEach((node: INode): void => { - pluginVariableAssignment = node.value.id.name; - }); - - pluginVariableAssignment = !pluginVariableAssignment - ? "webpack.optimize.TerserPlugin" - : pluginVariableAssignment; - - findPluginsByName(j, ast, [pluginVariableAssignment]) - .forEach((node: INode): void => { - let expressionContent: object = null; - - const configBody: INode = safeTraverse(node, ["parent", "parent", "parent"]); - - // options passed to plugin - const pluginOptions: INode[] = node.value.arguments; - - /** - * check if there are any options passed to TerserWebpackPlugin - * If so, they are moved to optimization.minimizer. - * Otherwise, rely on default options - */ - if (pluginOptions.length) { - /* - * If user is using TerserPlugin directly from webpack - * transformation must: - * - remove it - * - add require for terser-webpack-plugin - * - add to minimizer - */ - if (pluginVariableAssignment && pluginVariableAssignment.includes("webpack")) { - // create require for terser-webpack-plugin - const pathRequire: INode = getRequire( - j, - "TerserPlugin", - "terser-webpack-plugin", - ); - // append to source code. - ast - .find(j.Program) - .replaceWith((p: INode): INode => - j.program([].concat(pathRequire).concat(p.value.body)), - ); - - expressionContent = j.property( - "init", - j.identifier("minimizer"), - j.arrayExpression([ - j.newExpression(j.identifier("TerserPlugin"), [pluginOptions[0]]), - ]), - ); - } else { - expressionContent = j.property( - "init", - j.identifier("minimizer"), - j.arrayExpression([node.value]), - ); - } - } else { - searchForRequirePlugin.forEach((n: INode): void => j(n).remove()); - } - - const minimizeProperty = createProperty(j, "minimize", "true"); - // creates optimization property at the body of the config. - if (expressionContent) { - configBody.value.properties.push( - j.property( - "init", - j.identifier("optimization"), - j.objectExpression([minimizeProperty, expressionContent]), - ), - ); - } else { - configBody.value.properties.push( - j.property( - "init", - j.identifier("optimization"), - j.objectExpression([minimizeProperty]), - ), - ); - } - - // remove the old Terser plugin from Plugins array. - j(node).remove(); - }); - - findPluginsArrayAndRemoveIfEmpty(j, ast); - - return ast; -}