diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000000..b6768d02020 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "useTabs": true, + "tabWidth": 120 +} diff --git a/packages/add/README.md b/packages/add/README.md index aca6824f5a7..e02aa4affd7 100644 --- a/packages/add/README.md +++ b/packages/add/README.md @@ -10,17 +10,25 @@ This package contains the logic to add new properties in a webpack configuration npm i -D webpack-cli @webpack-cli/add ``` +or + +```bash +yarn add --dev webpack-cli @webpack-cli/add +``` + ## Usage To run the scaffolding instance programmatically, install it as a dependency. When using the package programmatically, one does not have to install webpack-cli. ### Node + ```js const add = require("@webpack-cli/add"); add(); ``` ### CLI (via `webpack-cli`) + ```bash npx webpack-cli add -``` \ No newline at end of file +``` diff --git a/packages/add/index.ts b/packages/add/index.ts index 38f545d6889..21a80f2d2a9 100644 --- a/packages/add/index.ts +++ b/packages/add/index.ts @@ -9,15 +9,14 @@ import modifyConfigHelper from "@webpack-cli/utils/modify-config-helper"; * we're given on a generator * */ +const DEFAULT_WEBPACK_CONFIG_FILENAME: string = "webpack.config.js"; export default function add(...args: string[]): Function { - const DEFAULT_WEBPACK_CONFIG_FILENAME: string = "webpack.config.js"; + const filePaths: string[] = args.slice(3); + let configFile: string = DEFAULT_WEBPACK_CONFIG_FILENAME; + if (filePaths.length) { + configFile = filePaths[0]; + } - const filePaths: string[] = args.slice(3); - let configFile: string = DEFAULT_WEBPACK_CONFIG_FILENAME; - if (filePaths.length) { - configFile = filePaths[0]; - } - - return modifyConfigHelper("add", defaultGenerator, configFile); + return modifyConfigHelper("add", defaultGenerator, configFile); } diff --git a/packages/generators/add-generator.ts b/packages/generators/add-generator.ts index 933c00bd2de..a3bf0a79568 100644 --- a/packages/generators/add-generator.ts +++ b/packages/generators/add-generator.ts @@ -9,12 +9,12 @@ import npmExists from "@webpack-cli/utils/npm-exists"; import { getPackageManager } from "@webpack-cli/utils/package-manager"; import PROP_TYPES from "@webpack-cli/utils/prop-types"; import { - AutoComplete, - Confirm, - IInquirerInput, - IInquirerList, - Input, - List, + AutoComplete, + Confirm, + IInquirerInput, + IInquirerList, + Input, + List, } from "@webpack-cli/webpack-scaffold"; import { ISchemaProperties, IWebpackOptions } from "./types"; @@ -36,7 +36,7 @@ const PROPS: string[] = Array.from(PROP_TYPES.keys()); * */ function replaceAt(str: string, index: number, replace: string): string { - return str.substring(0, index) + replace + str.substring(index + 1); + return str.substring(0, index) + replace + str.substring(index + 1); } /** @@ -50,13 +50,15 @@ function replaceAt(str: string, index: number, replace: string): string { * is present */ const traverseAndGetProperties = (arr: object[], prop: string): boolean => { - let hasProp: boolean = false; - arr.forEach((p: object): void => { + let hasProp: boolean = false; + arr.forEach( + (p: object): void => { if (p[prop]) { - hasProp = true; + hasProp = true; } - }); - return hasProp; + }, + ); + return hasProp; }; /** @@ -70,12 +72,13 @@ const traverseAndGetProperties = (arr: object[], prop: string): boolean => { * */ const searchProps = (answers: object, input: string): Promise => { - input = input || ""; - return Promise.resolve( - PROPS.filter((prop: string): boolean => - prop.toLowerCase().includes(input.toLowerCase()), - ), - ); + input = input || ""; + return Promise.resolve( + PROPS.filter( + (prop: string): boolean => + prop.toLowerCase().includes(input.toLowerCase()), + ), + ); }; /** @@ -88,443 +91,426 @@ const searchProps = (answers: object, input: string): Promise => { */ export default class AddGenerator extends Generator { - private dependencies: string[]; - private configuration: { + private dependencies: string[]; + private configuration: { + config: { + configName?: string; + topScope?: string[]; + item?: string; + webpackOptions?: IWebpackOptions; + }; + }; + + constructor(args, opts) { + super(args, opts); + this.dependencies = []; + this.configuration = { config: { - configName?: string, - topScope?: string[], - item?: string; - webpackOptions?: IWebpackOptions, + topScope: ["const webpack = require('webpack')"], + webpackOptions: {}, }, }; + const { registerPrompt } = this.env.adapter.promptModule; + registerPrompt("autocomplete", autoComplete); + } - constructor(args, opts) { - super(args, opts); - this.dependencies = []; - this.configuration = { - config: { - topScope: ["const webpack = require('webpack')"], - webpackOptions: {}, - }, - }; - const { registerPrompt } = this.env.adapter.promptModule; - registerPrompt("autocomplete", autoComplete); - } - - public prompting() { - const done: (_?: void) => void | boolean = this.async(); - let action: string; - const self: this = this; - const manualOrListInput: (promptAction: string) => IInquirerInput = (promptAction: string) => - Input("actionAnswer", `What do you want to add to ${promptAction}?`); - let inputPrompt: IInquirerInput; + public prompting() { + const done: (_?: void) => void | boolean = this.async(); + let action: string; + const self: this = this; + const manualOrListInput: (promptAction: string) => IInquirerInput = ( + promptAction: string, + ) => Input("actionAnswer", `What do you want to add to ${promptAction}?`); + let inputPrompt: IInquirerInput; - // first index indicates if it has a deep prop, 2nd indicates what kind of - const isDeepProp: any[] = [false, false]; + // first index indicates if it has a deep prop, 2nd indicates what kind of + const isDeepProp: any[] = [false, false]; - return this.prompt([ - AutoComplete( - "actionType", - "What property do you want to add to?", - { - pageSize: 7, - source: searchProps, - suggestOnly: false, - }, - ), - ]) - .then((actionTypeAnswer: { - actionType: string, - }) => { - // Set initial prop, like devtool - this.configuration.config.webpackOptions[ - actionTypeAnswer.actionType - ] = null; - // update the action variable, we're using it later - action = actionTypeAnswer.actionType; + return this.prompt([ + AutoComplete("actionType", "What property do you want to add to?", { + pageSize: 7, + source: searchProps, + suggestOnly: false, + }), + ]) + .then((actionTypeAnswer: { actionType: string }) => { + // Set initial prop, like devtool + this.configuration.config.webpackOptions[ + actionTypeAnswer.actionType + ] = null; + // update the action variable, we're using it later + action = actionTypeAnswer.actionType; + }) + .then((_: void) => { + if (action === "entry") { + return this.prompt([ + Confirm("entryType", "Will your application have multiple bundles?"), + ]) + .then((entryTypeAnswer: { entryType: boolean }) => { + // Ask different questions for entry points + return entryQuestions(self, entryTypeAnswer); }) - .then((_: void) => { - if (action === "entry") { - return this.prompt([ - Confirm("entryType", "Will your application have multiple bundles?"), - ]) - .then((entryTypeAnswer: { - entryType: boolean, - }) => { - // Ask different questions for entry points - return entryQuestions(self, entryTypeAnswer); - }) - .then((entryOptions: { - entryType: boolean; - }) => { - this.configuration.config.webpackOptions.entry = entryOptions; - this.configuration.config.item = action; - }); - } - const temp: string = action; - if (action === "resolveLoader") { - action = "resolve"; - } - const webpackSchemaProp: ISchemaProperties = webpackSchema.definitions[action]; - /* + .then((entryOptions: { entryType: boolean }) => { + this.configuration.config.webpackOptions.entry = entryOptions; + this.configuration.config.item = action; + }); + } + const temp: string = action; + if (action === "resolveLoader") { + action = "resolve"; + } + const webpackSchemaProp: ISchemaProperties = + webpackSchema.definitions[action]; + /* * https://github.com/webpack/webpack/blob/next/schemas/WebpackOptions.json * Find the properties directly in the properties prop, or the anyOf prop */ - let defOrPropDescription: object = webpackSchemaProp - ? webpackSchemaProp.properties - : webpackSchema.properties[action].properties - ? webpackSchema.properties[action].properties - : webpackSchema.properties[action].anyOf - ? webpackSchema.properties[action].anyOf.filter( - (p: { - properties?: object, - enum?: any[], - }) => p.properties || p.enum, - ) - : null; - if (Array.isArray(defOrPropDescription)) { - // Todo: Generalize these to go through the array, then merge enum with props if needed - const hasPropertiesProp: boolean = traverseAndGetProperties( - defOrPropDescription, - "properties", - ); - const hasEnumProp: boolean = traverseAndGetProperties( - defOrPropDescription, - "enum", - ); - /* as we know he schema only has two arrays that might hold our values, + let defOrPropDescription: object = webpackSchemaProp + ? webpackSchemaProp.properties + : webpackSchema.properties[action].properties + ? webpackSchema.properties[action].properties + : webpackSchema.properties[action].anyOf + ? webpackSchema.properties[action].anyOf.filter( + (p: { properties?: object; enum?: any[] }) => + p.properties || p.enum, + ) + : null; + if (Array.isArray(defOrPropDescription)) { + // Todo: Generalize these to go through the array, then merge enum with props if needed + const hasPropertiesProp: boolean = traverseAndGetProperties( + defOrPropDescription, + "properties", + ); + const hasEnumProp: boolean = traverseAndGetProperties( + defOrPropDescription, + "enum", + ); + /* as we know he schema only has two arrays that might hold our values, * check them for either having arr.enum or arr.properties */ - if (hasPropertiesProp) { - defOrPropDescription = - defOrPropDescription[0].properties || - defOrPropDescription[1].properties; - if (!defOrPropDescription) { - defOrPropDescription = defOrPropDescription[0].enum; - } - // TODO: manually implement stats and devtools like sourcemaps - } else if (hasEnumProp) { - const originalPropDesc: object = defOrPropDescription[0].enum; - // Array -> Object -> Merge objects into one for compat in manualOrListInput - defOrPropDescription = Object.keys(defOrPropDescription[0].enum) - .map((p: string): object => { - return Object.assign( - {}, - { - [originalPropDesc[p]]: "noop", - }, - ); - }) - .reduce((result: object, currentObject: object): object => { - for (const key in currentObject) { - if (currentObject.hasOwnProperty(key)) { - result[key] = currentObject[key]; - } - } - return result; - }, {}); - } - } - // WDS has its own schema, so we gonna need to check that too - const webpackDevserverSchemaProp: ISchemaProperties = - action === "devServer" ? webpackDevServerSchema : null; - // Watch has a boolean arg, but we need to append to it manually - if (action === "watch") { - defOrPropDescription = { - false: {}, - true: {}, - }; - } - if (action === "mode") { - defOrPropDescription = { - development: {}, - production: {}, - }; - } - action = temp; - if (action === "resolveLoader") { - defOrPropDescription = Object.assign(defOrPropDescription, { - moduleExtensions: {}, - }); - } - // If we've got a schema prop or devServer Schema Prop - if (defOrPropDescription || webpackDevserverSchemaProp) { - // Check for properties in definitions[action] or properties[action] - if (defOrPropDescription) { - if (action !== "devtool") { - // Add the option of adding an own variable if the user wants - defOrPropDescription = Object.assign(defOrPropDescription, { - other: {}, - }); - } else { - // The schema doesn't have the source maps we can prompt, so add those - defOrPropDescription = Object.assign(defOrPropDescription, { - "cheap-eval-source-map": {}, - "cheap-module-eval-source-map": {}, - "cheap-module-source-map": {}, - "cheap-source-map": {}, - "eval": {}, - "eval-source-map": {}, - "hidden-source-map": {}, - "inline-cheap-module-source-map": {}, - "inline-cheap-source-map": {}, - "inline-source-map": {}, - "nosources-source-map": {}, - "source-map": {}, - }); - } - inputPrompt = List( - "actionAnswer", - `What do you want to add to ${action}?`, - Object.keys(defOrPropDescription), - ); - // We know we're gonna append some deep prop like module.rule - isDeepProp[0] = true; - } else if (webpackDevserverSchemaProp) { - // Append the custom property option - webpackDevserverSchemaProp.properties = Object.assign( - webpackDevserverSchemaProp.properties, - { - other: {}, - }, - ); - inputPrompt = List( - "actionAnswer", - `What do you want to add to ${action}?`, - Object.keys(webpackDevserverSchemaProp.properties), - ); - // We know we are in a devServer.prop scenario - isDeepProp[0] = true; - } else { - // manual input if non-existent - inputPrompt = manualOrListInput(action); + if (hasPropertiesProp) { + defOrPropDescription = + defOrPropDescription[0].properties || + defOrPropDescription[1].properties; + if (!defOrPropDescription) { + defOrPropDescription = defOrPropDescription[0].enum; + } + // TODO: manually implement stats and devtools like sourcemaps + } else if (hasEnumProp) { + const originalPropDesc: object = defOrPropDescription[0].enum; + // Array -> Object -> Merge objects into one for compat in manualOrListInput + defOrPropDescription = Object.keys(defOrPropDescription[0].enum) + .map( + (p: string): object => { + return Object.assign( + {}, + { + [originalPropDesc[p]]: "noop", + }, + ); + }, + ) + .reduce((result: object, currentObject: object): object => { + for (const key in currentObject) { + if (currentObject.hasOwnProperty(key)) { + result[key] = currentObject[key]; } - } else { - inputPrompt = manualOrListInput(action); - } - return this.prompt([ - inputPrompt, - ]); - }) - .then((answerToAction: { - actionAnswer: string, - }) => { - if (!answerToAction) { - done(); - return; } - /* + return result; + }, {}); + } + } + // WDS has its own schema, so we gonna need to check that too + const webpackDevserverSchemaProp: ISchemaProperties = + action === "devServer" ? webpackDevServerSchema : null; + // Watch has a boolean arg, but we need to append to it manually + if (action === "watch") { + defOrPropDescription = { + false: {}, + true: {}, + }; + } + if (action === "mode") { + defOrPropDescription = { + development: {}, + production: {}, + }; + } + action = temp; + if (action === "resolveLoader") { + defOrPropDescription = Object.assign(defOrPropDescription, { + moduleExtensions: {}, + }); + } + // If we've got a schema prop or devServer Schema Prop + if (defOrPropDescription || webpackDevserverSchemaProp) { + // Check for properties in definitions[action] or properties[action] + if (defOrPropDescription) { + if (action !== "devtool") { + // Add the option of adding an own variable if the user wants + defOrPropDescription = Object.assign(defOrPropDescription, { + other: {}, + }); + } else { + // The schema doesn't have the source maps we can prompt, so add those + defOrPropDescription = Object.assign(defOrPropDescription, { + "cheap-eval-source-map": {}, + "cheap-module-eval-source-map": {}, + "cheap-module-source-map": {}, + "cheap-source-map": {}, + "eval": {}, + "eval-source-map": {}, + "hidden-source-map": {}, + "inline-cheap-module-source-map": {}, + "inline-cheap-source-map": {}, + "inline-source-map": {}, + "nosources-source-map": {}, + "source-map": {}, + }); + } + inputPrompt = List( + "actionAnswer", + `What do you want to add to ${action}?`, + Object.keys(defOrPropDescription), + ); + // We know we're gonna append some deep prop like module.rule + isDeepProp[0] = true; + } else if (webpackDevserverSchemaProp) { + // Append the custom property option + webpackDevserverSchemaProp.properties = Object.assign( + webpackDevserverSchemaProp.properties, + { + other: {}, + }, + ); + inputPrompt = List( + "actionAnswer", + `What do you want to add to ${action}?`, + Object.keys(webpackDevserverSchemaProp.properties), + ); + // We know we are in a devServer.prop scenario + isDeepProp[0] = true; + } else { + // manual input if non-existent + inputPrompt = manualOrListInput(action); + } + } else { + inputPrompt = manualOrListInput(action); + } + return this.prompt([inputPrompt]); + }) + .then((answerToAction: { actionAnswer: string }) => { + if (!answerToAction) { + done(); + return; + } + /* * Plugins got their own logic, * find the names of each natively plugin and check if it matches */ - if (action === "plugins") { - const pluginExist: string = glob - .sync([ - "node_modules/webpack/lib/*Plugin.js", - "node_modules/webpack/lib/**/*Plugin.js", - ]) - .map((p: string): string => - p - .split("/") - .pop() - .replace(".js", ""), - ) - .find( - (p: string): boolean => p.toLowerCase().indexOf(answerToAction.actionAnswer) >= 0, - ); + if (action === "plugins") { + const pluginExist: string = glob + .sync([ + "node_modules/webpack/lib/*Plugin.js", + "node_modules/webpack/lib/**/*Plugin.js", + ]) + .map( + (p: string): string => + p + .split("/") + .pop() + .replace(".js", ""), + ) + .find( + (p: string): boolean => + p.toLowerCase().indexOf(answerToAction.actionAnswer) >= 0, + ); - if (pluginExist) { - this.configuration.config.item = pluginExist; - const pluginsSchemaPath: string = glob - .sync([ - "node_modules/webpack/schemas/plugins/*Plugin.json", - "node_modules/webpack/schemas/plugins/**/*Plugin.json", - ]) - .find( - (p: string): boolean => - p - .split("/") - .pop() - .replace(".json", "") - .toLowerCase() - .indexOf(answerToAction.actionAnswer) >= 0, + if (pluginExist) { + this.configuration.config.item = pluginExist; + const pluginsSchemaPath: string = glob + .sync([ + "node_modules/webpack/schemas/plugins/*Plugin.json", + "node_modules/webpack/schemas/plugins/**/*Plugin.json", + ]) + .find( + (p: string): boolean => + p + .split("/") + .pop() + .replace(".json", "") + .toLowerCase() + .indexOf(answerToAction.actionAnswer) >= 0, + ); + if (pluginsSchemaPath) { + const constructorPrefix: string = + pluginsSchemaPath.indexOf("optimize") >= 0 + ? "webpack.optimize" + : "webpack"; + const resolvePluginsPath: string = path.resolve( + pluginsSchemaPath, + ); + const pluginSchema: object = resolvePluginsPath + ? require(resolvePluginsPath) + : null; + let pluginsSchemaProps: string[] = ["other"]; + if (pluginSchema) { + Object.keys(pluginSchema) + .filter( + (p: string): boolean => Array.isArray(pluginSchema[p]), + ) + .forEach( + (p: string): void => { + Object.keys(pluginSchema[p]).forEach( + (n: string): void => { + if (pluginSchema[p][n].properties) { + pluginsSchemaProps = Object.keys( + pluginSchema[p][n].properties, ); - if (pluginsSchemaPath) { - const constructorPrefix: string = - pluginsSchemaPath.indexOf("optimize") >= 0 - ? "webpack.optimize" - : "webpack"; - const resolvePluginsPath: string = path.resolve(pluginsSchemaPath); - const pluginSchema: object = resolvePluginsPath - ? require(resolvePluginsPath) - : null; - let pluginsSchemaProps: string[] = ["other"]; - if (pluginSchema) { - Object.keys(pluginSchema) - .filter((p: string): boolean => Array.isArray(pluginSchema[p])) - .forEach((p: string): void => { - Object.keys(pluginSchema[p]).forEach((n: string): void => { - if (pluginSchema[p][n].properties) { - pluginsSchemaProps = Object.keys( - pluginSchema[p][n].properties, - ); - } - }); - }); } + }, + ); + }, + ); + } - return this.prompt([ - List( - "pluginsPropType", - `What property do you want to add ${pluginExist}?`, - pluginsSchemaProps, - ), - ]).then((pluginsPropAnswer: { - pluginsPropType: string, - }) => { - return this.prompt([ - Input( - "pluginsPropTypeVal", - `What value should ${pluginExist}.${ - pluginsPropAnswer.pluginsPropType - } have?`, - ), - ]).then((valForProp: { - pluginsPropTypeVal: string, - }) => { - this.configuration.config.webpackOptions[action] = { - [`${constructorPrefix}.${pluginExist}`]: { - [pluginsPropAnswer.pluginsPropType]: - valForProp.pluginsPropTypeVal, - }, - }; - done(); - }); - }); - } else { - this.configuration.config.webpackOptions[ - action - ] = `new webpack.${pluginExist}`; - done(); - } - } else { - // If its not in webpack, check npm - npmExists(answerToAction.actionAnswer) - .then((p: string) => { - if (p) { - this.dependencies.push(answerToAction.actionAnswer); - const normalizePluginName: string = answerToAction.actionAnswer.replace( - "-webpack-plugin", - "Plugin", - ); - const pluginName: string = replaceAt( - normalizePluginName, - 0, - normalizePluginName.charAt(0).toUpperCase(), - ); - this.configuration.config.topScope.push( - `const ${pluginName} = require("${ - answerToAction.actionAnswer - }")`, - ); - this.configuration.config.webpackOptions[ - action - ] = `new ${pluginName}`; - this.configuration.config.item = answerToAction.actionAnswer; - done(); - this.runInstall(getPackageManager(), this.dependencies, { - "save-dev": true, - }); - } else { - console.error( - answerToAction.actionAnswer, - "doesn't exist on NPM or is built in webpack, please check for any misspellings.", - ); - process.exit(0); - } - }); - } + return this.prompt([ + List( + "pluginsPropType", + `What property do you want to add ${pluginExist}?`, + pluginsSchemaProps, + ), + ]).then((pluginsPropAnswer: { pluginsPropType: string }) => { + return this.prompt([ + Input( + "pluginsPropTypeVal", + `What value should ${pluginExist}.${ + pluginsPropAnswer.pluginsPropType + } have?`, + ), + ]).then((valForProp: { pluginsPropTypeVal: string }) => { + this.configuration.config.webpackOptions[action] = { + [`${constructorPrefix}.${pluginExist}`]: { + [pluginsPropAnswer.pluginsPropType]: + valForProp.pluginsPropTypeVal, + }, + }; + done(); + }); + }); + } else { + this.configuration.config.webpackOptions[ + action + ] = `new webpack.${pluginExist}`; + done(); + } + } else { + // If its not in webpack, check npm + npmExists(answerToAction.actionAnswer).then((p: string) => { + if (p) { + this.dependencies.push(answerToAction.actionAnswer); + const normalizePluginName: string = answerToAction.actionAnswer.replace( + "-webpack-plugin", + "Plugin", + ); + const pluginName: string = replaceAt( + normalizePluginName, + 0, + normalizePluginName.charAt(0).toUpperCase(), + ); + this.configuration.config.topScope.push( + `const ${pluginName} = require("${ + answerToAction.actionAnswer + }")`, + ); + this.configuration.config.webpackOptions[ + action + ] = `new ${pluginName}`; + this.configuration.config.item = answerToAction.actionAnswer; + done(); + this.runInstall(getPackageManager(), this.dependencies, { + "save-dev": true, + }); } else { - // If we're in the scenario with a deep-property - if (isDeepProp[0]) { - isDeepProp[1] = answerToAction.actionAnswer; - if ( - isDeepProp[1] !== "other" && - (action === "devtool" || action === "watch" || action === "mode") - ) { - this.configuration.config.item = action; - this.configuration.config.webpackOptions[action] = - answerToAction.actionAnswer; - done(); - return; - } - // Either we are adding directly at the property, else we're in a prop.theOne scenario - const actionMessage: string = - isDeepProp[1] === "other" - ? `What do you want the key on ${ - action - } to be? (press enter if you want it directly as a value on the property)` - : `What do you want the value of ${isDeepProp[1]} to be?`; + console.error( + answerToAction.actionAnswer, + "doesn't exist on NPM or is built in webpack, please check for any misspellings.", + ); + process.exit(0); + } + }); + } + } else { + // If we're in the scenario with a deep-property + if (isDeepProp[0]) { + isDeepProp[1] = answerToAction.actionAnswer; + if ( + isDeepProp[1] !== "other" && + (action === "devtool" || action === "watch" || action === "mode") + ) { + this.configuration.config.item = action; + this.configuration.config.webpackOptions[action] = + answerToAction.actionAnswer; + done(); + return; + } + // Either we are adding directly at the property, else we're in a prop.theOne scenario + const actionMessage: string = + isDeepProp[1] === "other" + ? `What do you want the key on ${action} to be? (press enter if you want it directly as a value on the property)` + : `What do you want the value of ${isDeepProp[1]} to be?`; - this.prompt([ - Input("deepProp", actionMessage), - ]).then( - (deepPropAns: { - deepProp: string, - }) => { - // The other option needs to be validated of either being empty or not - if (isDeepProp[1] === "other") { - const othersDeepPropKey: string = deepPropAns.deepProp - ? `What do you want the value of ${ - deepPropAns.deepProp - } to be?` // eslint-disable-line - : `What do you want to be the value of ${action} to be?`; - // Push the answer to the array we have created, so we can use it later - isDeepProp.push(deepPropAns.deepProp); - this.prompt([ - Input("innerProp", othersDeepPropKey), - ]).then( - (innerPropAns: { - innerProp, - }) => { - // Check length, if it has none, add the prop directly on the given action - if (isDeepProp[2].length === 0) { - this.configuration.config.item = action; - this.configuration.config.webpackOptions[action] = - innerPropAns.innerProp; - } else { - // If not, we're adding to something like devServer.myProp - this.configuration.config.item = - action + "." + isDeepProp[2]; - this.configuration.config.webpackOptions[action] = { - [isDeepProp[2]]: innerPropAns.innerProp, - }; - } - done(); - }, - ); - } else { - // We got the schema prop, we've correctly prompted it, and can add it directly - this.configuration.config.item = action + "." + isDeepProp[1]; - this.configuration.config.webpackOptions[action] = { - [isDeepProp[1]]: deepPropAns.deepProp, - }; - done(); - } - }, - ); - } else { - // We're asking for input-only + this.prompt([Input("deepProp", actionMessage)]).then( + (deepPropAns: { deepProp: string }) => { + // The other option needs to be validated of either being empty or not + if (isDeepProp[1] === "other") { + const othersDeepPropKey: string = deepPropAns.deepProp + ? `What do you want the value of ${ + deepPropAns.deepProp + } to be?` // eslint-disable-line + : `What do you want to be the value of ${action} to be?`; + // Push the answer to the array we have created, so we can use it later + isDeepProp.push(deepPropAns.deepProp); + this.prompt([Input("innerProp", othersDeepPropKey)]).then( + (innerPropAns: { innerProp }) => { + // Check length, if it has none, add the prop directly on the given action + if (isDeepProp[2].length === 0) { this.configuration.config.item = action; this.configuration.config.webpackOptions[action] = - answerToAction.actionAnswer; + innerPropAns.innerProp; + } else { + // If not, we're adding to something like devServer.myProp + this.configuration.config.item = + action + "." + isDeepProp[2]; + this.configuration.config.webpackOptions[action] = { + [isDeepProp[2]]: innerPropAns.innerProp, + }; + } done(); - } + }, + ); + } else { + // We got the schema prop, we've correctly prompted it, and can add it directly + this.configuration.config.item = action + "." + isDeepProp[1]; + this.configuration.config.webpackOptions[action] = { + [isDeepProp[1]]: deepPropAns.deepProp, + }; + done(); } - }); - } + }, + ); + } else { + // We're asking for input-only + this.configuration.config.item = action; + this.configuration.config.webpackOptions[action] = + answerToAction.actionAnswer; + done(); + } + } + }); + } - public writing() { - this.config.set("configuration", this.configuration); - } + public writing() { + this.config.set("configuration", this.configuration); + } } diff --git a/packages/migrate/bannerPlugin/__snapshots__/bannerPlugin.test.js.snap b/packages/migrate/bannerPlugin/__tests__/__snapshots__/bannerPlugin.test.ts.snap similarity index 100% rename from packages/migrate/bannerPlugin/__snapshots__/bannerPlugin.test.js.snap rename to packages/migrate/bannerPlugin/__tests__/__snapshots__/bannerPlugin.test.ts.snap diff --git a/packages/migrate/bannerPlugin/__testfixtures__/bannerPlugin-0.input.js b/packages/migrate/bannerPlugin/__tests__/__testfixtures__/bannerPlugin-0.input.js similarity index 100% rename from packages/migrate/bannerPlugin/__testfixtures__/bannerPlugin-0.input.js rename to packages/migrate/bannerPlugin/__tests__/__testfixtures__/bannerPlugin-0.input.js diff --git a/packages/migrate/bannerPlugin/__testfixtures__/bannerPlugin-1.input.js b/packages/migrate/bannerPlugin/__tests__/__testfixtures__/bannerPlugin-1.input.js similarity index 100% rename from packages/migrate/bannerPlugin/__testfixtures__/bannerPlugin-1.input.js rename to packages/migrate/bannerPlugin/__tests__/__testfixtures__/bannerPlugin-1.input.js diff --git a/packages/migrate/bannerPlugin/__testfixtures__/bannerPlugin-2.input.js b/packages/migrate/bannerPlugin/__tests__/__testfixtures__/bannerPlugin-2.input.js similarity index 100% rename from packages/migrate/bannerPlugin/__testfixtures__/bannerPlugin-2.input.js rename to packages/migrate/bannerPlugin/__tests__/__testfixtures__/bannerPlugin-2.input.js diff --git a/packages/migrate/bannerPlugin/__tests__/bannerPlugin.test.ts b/packages/migrate/bannerPlugin/__tests__/bannerPlugin.test.ts new file mode 100644 index 00000000000..58dc2c12821 --- /dev/null +++ b/packages/migrate/bannerPlugin/__tests__/bannerPlugin.test.ts @@ -0,0 +1,6 @@ +import defineTest from "@webpack-cli/utils/defineTest"; +import { join } from "path"; + +defineTest(join(__dirname, ".."), "bannerPlugin", "bannerPlugin-0"); +defineTest(join(__dirname, ".."), "bannerPlugin", "bannerPlugin-1"); +defineTest(join(__dirname, ".."), "bannerPlugin", "bannerPlugin-2"); diff --git a/packages/migrate/bannerPlugin/bannerPlugin.test.js b/packages/migrate/bannerPlugin/bannerPlugin.test.js deleted file mode 100644 index 8f6ad100036..00000000000 --- a/packages/migrate/bannerPlugin/bannerPlugin.test.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -const defineTest = require("@webpack-cli/utils/defineTest").default; - -defineTest(__dirname, "bannerPlugin", "bannerPlugin-0"); -defineTest(__dirname, "bannerPlugin", "bannerPlugin-1"); -defineTest(__dirname, "bannerPlugin", "bannerPlugin-2"); diff --git a/packages/migrate/commonsChunkPlugin/__snapshots__/commonsChunkPlugin.test.js.snap b/packages/migrate/commonsChunkPlugin/__tests__/__snapshots__/commonsChunkPlugin.test.ts.snap similarity index 100% rename from packages/migrate/commonsChunkPlugin/__snapshots__/commonsChunkPlugin.test.js.snap rename to packages/migrate/commonsChunkPlugin/__tests__/__snapshots__/commonsChunkPlugin.test.ts.snap diff --git a/packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-0.input.js b/packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-0.input.js similarity index 100% rename from packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-0.input.js rename to packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-0.input.js diff --git a/packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-1.input.js b/packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-1.input.js similarity index 100% rename from packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-1.input.js rename to packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-1.input.js diff --git a/packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-2.input.js b/packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-2.input.js similarity index 100% rename from packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-2.input.js rename to packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-2.input.js diff --git a/packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-3.input.js b/packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-3.input.js similarity index 100% rename from packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-3.input.js rename to packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-3.input.js diff --git a/packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-4.input.js b/packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-4.input.js similarity index 100% rename from packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-4.input.js rename to packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-4.input.js diff --git a/packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-5.input.js b/packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-5.input.js similarity index 100% rename from packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-5.input.js rename to packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-5.input.js diff --git a/packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-6a.input.js b/packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-6a.input.js similarity index 100% rename from packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-6a.input.js rename to packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-6a.input.js diff --git a/packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-6b.input.js b/packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-6b.input.js similarity index 100% rename from packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-6b.input.js rename to packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-6b.input.js diff --git a/packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-6c.input.js b/packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-6c.input.js similarity index 100% rename from packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-6c.input.js rename to packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-6c.input.js diff --git a/packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-6d.input.js b/packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-6d.input.js similarity index 100% rename from packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-6d.input.js rename to packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-6d.input.js diff --git a/packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-7.input.js b/packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-7.input.js similarity index 100% rename from packages/migrate/commonsChunkPlugin/__testfixtures__/commonsChunkPlugin-7.input.js rename to packages/migrate/commonsChunkPlugin/__tests__/__testfixtures__/commonsChunkPlugin-7.input.js diff --git a/packages/migrate/commonsChunkPlugin/__tests__/commonsChunkPlugin.test.ts b/packages/migrate/commonsChunkPlugin/__tests__/commonsChunkPlugin.test.ts new file mode 100644 index 00000000000..acbecafbf67 --- /dev/null +++ b/packages/migrate/commonsChunkPlugin/__tests__/commonsChunkPlugin.test.ts @@ -0,0 +1,30 @@ +import defineTest from "@webpack-cli/utils/defineTest"; +import { join } from "path"; + +defineTest(join(__dirname, ".."), "commonsChunkPlugin", "commonsChunkPlugin-0"); +defineTest(join(__dirname, ".."), "commonsChunkPlugin", "commonsChunkPlugin-1"); +defineTest(join(__dirname, ".."), "commonsChunkPlugin", "commonsChunkPlugin-2"); +defineTest(join(__dirname, ".."), "commonsChunkPlugin", "commonsChunkPlugin-3"); +defineTest(join(__dirname, ".."), "commonsChunkPlugin", "commonsChunkPlugin-4"); +defineTest(join(__dirname, ".."), "commonsChunkPlugin", "commonsChunkPlugin-5"); +defineTest( + join(__dirname, ".."), + "commonsChunkPlugin", + "commonsChunkPlugin-6a", +); +defineTest( + join(__dirname, ".."), + "commonsChunkPlugin", + "commonsChunkPlugin-6b", +); +defineTest( + join(__dirname, ".."), + "commonsChunkPlugin", + "commonsChunkPlugin-6c", +); +defineTest( + join(__dirname, ".."), + "commonsChunkPlugin", + "commonsChunkPlugin-6d", +); +defineTest(join(__dirname, ".."), "commonsChunkPlugin", "commonsChunkPlugin-7"); diff --git a/packages/migrate/commonsChunkPlugin/commonsChunkPlugin.test.js b/packages/migrate/commonsChunkPlugin/commonsChunkPlugin.test.js deleted file mode 100644 index 123b3ba81d8..00000000000 --- a/packages/migrate/commonsChunkPlugin/commonsChunkPlugin.test.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; - -const defineTest = require("@webpack-cli/utils/defineTest").default; - -defineTest(__dirname, "commonsChunkPlugin", "commonsChunkPlugin-0"); -defineTest(__dirname, "commonsChunkPlugin", "commonsChunkPlugin-1"); -defineTest(__dirname, "commonsChunkPlugin", "commonsChunkPlugin-2"); -defineTest(__dirname, "commonsChunkPlugin", "commonsChunkPlugin-3"); -defineTest(__dirname, "commonsChunkPlugin", "commonsChunkPlugin-4"); -defineTest(__dirname, "commonsChunkPlugin", "commonsChunkPlugin-5"); -defineTest(__dirname, "commonsChunkPlugin", "commonsChunkPlugin-6a"); -defineTest(__dirname, "commonsChunkPlugin", "commonsChunkPlugin-6b"); -defineTest(__dirname, "commonsChunkPlugin", "commonsChunkPlugin-6c"); -defineTest(__dirname, "commonsChunkPlugin", "commonsChunkPlugin-6d"); -defineTest(__dirname, "commonsChunkPlugin", "commonsChunkPlugin-7"); diff --git a/packages/migrate/extractTextPlugin/__snapshots__/extractTextPlugin.test.js.snap b/packages/migrate/extractTextPlugin/__snapshots__/extractTextPlugin.test.js.snap deleted file mode 100644 index c60c600d9c2..00000000000 --- a/packages/migrate/extractTextPlugin/__snapshots__/extractTextPlugin.test.js.snap +++ /dev/null @@ -1,24 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`extractTextPlugin transforms correctly 1`] = ` -"let ExtractTextPlugin = require('extract-text-webpack-plugin'); -let HTMLWebpackPlugin = require('html-webpack-plugin'); - -module.export = { - module: { - rules: [ - { - test: /\\\\.css$/, - use: ExtractTextPlugin.extract({ - fallback: 'style-loader', - use: 'css-loader' - }) - } - ] - }, - plugins: [ - new ExtractTextPlugin(\\"styles.css\\"), - ] -} -" -`; diff --git a/packages/migrate/extractTextPlugin/__testfixtures__/extractTextPlugin.input.js b/packages/migrate/extractTextPlugin/__testfixtures__/extractTextPlugin.input.js deleted file mode 100644 index f578bb4342d..00000000000 --- a/packages/migrate/extractTextPlugin/__testfixtures__/extractTextPlugin.input.js +++ /dev/null @@ -1,16 +0,0 @@ -let ExtractTextPlugin = require('extract-text-webpack-plugin'); -let HTMLWebpackPlugin = require('html-webpack-plugin'); - -module.export = { - module: { - rules: [ - { - test: /\.css$/, - use: ExtractTextPlugin.extract('style-loader', 'css-loader') - } - ] - }, - plugins: [ - new ExtractTextPlugin("styles.css"), - ] -} diff --git a/packages/migrate/extractTextPlugin/__tests__/__snapshots__/extractTextPlugin.test.ts.snap b/packages/migrate/extractTextPlugin/__tests__/__snapshots__/extractTextPlugin.test.ts.snap new file mode 100644 index 00000000000..fe042da4a2c --- /dev/null +++ b/packages/migrate/extractTextPlugin/__tests__/__snapshots__/extractTextPlugin.test.ts.snap @@ -0,0 +1,21 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`extractTextPlugin transforms correctly 1`] = ` +"const ExtractTextPlugin = require(\\"extract-text-webpack-plugin\\"); + +module.exports = { + module: { + rules: [ + { + test: /\\\\.css$/, + use: ExtractTextPlugin.extract({ + fallback: 'style-loader', + use: 'css-loader' + }) + } + ] + }, + plugins: [new ExtractTextPlugin(\\"styles.css\\")] +}; +" +`; diff --git a/packages/migrate/extractTextPlugin/__tests__/__testfixtures__/extractTextPlugin.input.js b/packages/migrate/extractTextPlugin/__tests__/__testfixtures__/extractTextPlugin.input.js new file mode 100644 index 00000000000..07d46e38cc0 --- /dev/null +++ b/packages/migrate/extractTextPlugin/__tests__/__testfixtures__/extractTextPlugin.input.js @@ -0,0 +1,13 @@ +const ExtractTextPlugin = require("extract-text-webpack-plugin"); + +module.exports = { + module: { + rules: [ + { + test: /\.css$/, + use: ExtractTextPlugin.extract("style-loader", "css-loader") + } + ] + }, + plugins: [new ExtractTextPlugin("styles.css")] +}; diff --git a/packages/migrate/extractTextPlugin/__tests__/extractTextPlugin.test.ts b/packages/migrate/extractTextPlugin/__tests__/extractTextPlugin.test.ts new file mode 100644 index 00000000000..ed310c44315 --- /dev/null +++ b/packages/migrate/extractTextPlugin/__tests__/extractTextPlugin.test.ts @@ -0,0 +1,4 @@ +import defineTest from "@webpack-cli/utils/defineTest"; +import { join } from "path"; + +defineTest(join(__dirname, ".."), "extractTextPlugin"); diff --git a/packages/migrate/extractTextPlugin/extractTextPlugin.test.js b/packages/migrate/extractTextPlugin/extractTextPlugin.test.js deleted file mode 100644 index b003fcc520a..00000000000 --- a/packages/migrate/extractTextPlugin/extractTextPlugin.test.js +++ /dev/null @@ -1,5 +0,0 @@ -"use strict"; - -const defineTest = require("@webpack-cli/utils/defineTest").default; - -defineTest(__dirname, "extractTextPlugin"); diff --git a/packages/migrate/loaderOptionsPlugin/__snapshots__/loaderOptionsPlugin.test.js.snap b/packages/migrate/loaderOptionsPlugin/__tests__/__snapshots__/loaderOptionsPlugin.test.ts.snap similarity index 100% rename from packages/migrate/loaderOptionsPlugin/__snapshots__/loaderOptionsPlugin.test.js.snap rename to packages/migrate/loaderOptionsPlugin/__tests__/__snapshots__/loaderOptionsPlugin.test.ts.snap diff --git a/packages/migrate/loaderOptionsPlugin/__testfixtures__/loaderOptionsPlugin-0.input.js b/packages/migrate/loaderOptionsPlugin/__tests__/__testfixtures__/loaderOptionsPlugin-0.input.js similarity index 100% rename from packages/migrate/loaderOptionsPlugin/__testfixtures__/loaderOptionsPlugin-0.input.js rename to packages/migrate/loaderOptionsPlugin/__tests__/__testfixtures__/loaderOptionsPlugin-0.input.js diff --git a/packages/migrate/loaderOptionsPlugin/__testfixtures__/loaderOptionsPlugin-1.input.js b/packages/migrate/loaderOptionsPlugin/__tests__/__testfixtures__/loaderOptionsPlugin-1.input.js similarity index 100% rename from packages/migrate/loaderOptionsPlugin/__testfixtures__/loaderOptionsPlugin-1.input.js rename to packages/migrate/loaderOptionsPlugin/__tests__/__testfixtures__/loaderOptionsPlugin-1.input.js diff --git a/packages/migrate/loaderOptionsPlugin/__testfixtures__/loaderOptionsPlugin-2.input.js b/packages/migrate/loaderOptionsPlugin/__tests__/__testfixtures__/loaderOptionsPlugin-2.input.js similarity index 100% rename from packages/migrate/loaderOptionsPlugin/__testfixtures__/loaderOptionsPlugin-2.input.js rename to packages/migrate/loaderOptionsPlugin/__tests__/__testfixtures__/loaderOptionsPlugin-2.input.js diff --git a/packages/migrate/loaderOptionsPlugin/__testfixtures__/loaderOptionsPlugin-3.input.js b/packages/migrate/loaderOptionsPlugin/__tests__/__testfixtures__/loaderOptionsPlugin-3.input.js similarity index 100% rename from packages/migrate/loaderOptionsPlugin/__testfixtures__/loaderOptionsPlugin-3.input.js rename to packages/migrate/loaderOptionsPlugin/__tests__/__testfixtures__/loaderOptionsPlugin-3.input.js diff --git a/packages/migrate/loaderOptionsPlugin/__tests__/loaderOptionsPlugin.test.ts b/packages/migrate/loaderOptionsPlugin/__tests__/loaderOptionsPlugin.test.ts new file mode 100644 index 00000000000..2a97886e9b1 --- /dev/null +++ b/packages/migrate/loaderOptionsPlugin/__tests__/loaderOptionsPlugin.test.ts @@ -0,0 +1,22 @@ +import defineTest from "@webpack-cli/utils/defineTest"; +import { join } from "path"; +defineTest( + join(__dirname, ".."), + "loaderOptionsPlugin", + "loaderOptionsPlugin-0", +); +defineTest( + join(__dirname, ".."), + "loaderOptionsPlugin", + "loaderOptionsPlugin-1", +); +defineTest( + join(__dirname, ".."), + "loaderOptionsPlugin", + "loaderOptionsPlugin-2", +); +defineTest( + join(__dirname, ".."), + "loaderOptionsPlugin", + "loaderOptionsPlugin-3", +); diff --git a/packages/migrate/loaderOptionsPlugin/loaderOptionsPlugin.test.js b/packages/migrate/loaderOptionsPlugin/loaderOptionsPlugin.test.js deleted file mode 100644 index c8928b75473..00000000000 --- a/packages/migrate/loaderOptionsPlugin/loaderOptionsPlugin.test.js +++ /dev/null @@ -1,8 +0,0 @@ -"use strict"; - -const defineTest = require("@webpack-cli/utils/defineTest").default; - -defineTest(__dirname, "loaderOptionsPlugin", "loaderOptionsPlugin-0"); -defineTest(__dirname, "loaderOptionsPlugin", "loaderOptionsPlugin-1"); -defineTest(__dirname, "loaderOptionsPlugin", "loaderOptionsPlugin-2"); -defineTest(__dirname, "loaderOptionsPlugin", "loaderOptionsPlugin-3"); diff --git a/packages/migrate/loaders/__tests__/__snapshots__/loaders.test.ts.snap b/packages/migrate/loaders/__tests__/__snapshots__/loaders.test.ts.snap index 7d170d4c435..dde1b1cb450 100644 --- a/packages/migrate/loaders/__tests__/__snapshots__/loaders.test.ts.snap +++ b/packages/migrate/loaders/__tests__/__snapshots__/loaders.test.ts.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`loaders transforms correctly using "loaders-0" data 1`] = ` -"export default [ +"module.exports = [ { module: { rules: [ @@ -118,7 +118,7 @@ exports[`loaders transforms correctly using "loaders-0" data 1`] = ` `; exports[`loaders transforms correctly using "loaders-1" data 1`] = ` -"export default { +"module.exports = { module: { rules: [ { @@ -142,7 +142,7 @@ exports[`loaders transforms correctly using "loaders-1" data 1`] = ` `; exports[`loaders transforms correctly using "loaders-2" data 1`] = ` -"export default { +"module.exports = { module: { rules: [ { @@ -163,7 +163,7 @@ exports[`loaders transforms correctly using "loaders-2" data 1`] = ` `; exports[`loaders transforms correctly using "loaders-3" data 1`] = ` -"export default { +"module.exports = { module: { rules: [ { @@ -181,7 +181,7 @@ exports[`loaders transforms correctly using "loaders-3" data 1`] = ` `; exports[`loaders transforms correctly using "loaders-4" data 1`] = ` -"export default { +"module.exports = { module: { rules: [ { @@ -199,7 +199,7 @@ exports[`loaders transforms correctly using "loaders-4" data 1`] = ` `; exports[`loaders transforms correctly using "loaders-5" data 1`] = ` -"export default { +"module.exports = { module: { rules: [{ use: [{ @@ -220,7 +220,7 @@ exports[`loaders transforms correctly using "loaders-5" data 1`] = ` `; exports[`loaders transforms correctly using "loaders-6" data 1`] = ` -"export default { +"module.exports = { module: { rules: [{ use: [{ @@ -241,7 +241,7 @@ exports[`loaders transforms correctly using "loaders-6" data 1`] = ` `; exports[`loaders transforms correctly using "loaders-7" data 1`] = ` -"export default { +"module.exports = { module: { rules: [ { @@ -264,27 +264,26 @@ exports[`loaders transforms correctly using "loaders-7" data 1`] = ` `; exports[`loaders transforms correctly using "loaders-8" data 1`] = ` -"import * as path from \\"path\\"; -module.exports = { - module: { - rules: [ - { - include: path.join(__dirname, \\"src\\"), - use: [{ - loader: 'style-loader' - }, { - loader: 'css-loader', +"module.exports = { + module: { + rules: [ + { + include: path.join(__dirname, \\"src\\"), + use: [{ + loader: 'style-loader' + }, { + loader: 'css-loader', - options: { - modules: true, - importLoaders: 1, - string: 'test123' - } - }], - test: /\\\\.js$/, - }, - ], - }, + options: { + modules: true, + importLoaders: 1, + string: 'test123' + } + }], + test: /\\\\.js$/ + } + ] + } }; " `; diff --git a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-0.input.ts b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-0.input.js similarity index 98% rename from packages/migrate/loaders/__tests__/__testfixtures__/loaders-0.input.ts rename to packages/migrate/loaders/__tests__/__testfixtures__/loaders-0.input.js index aa192c06157..e58bb6f88ef 100644 --- a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-0.input.ts +++ b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-0.input.js @@ -1,4 +1,4 @@ -export default [ +module.exports = [ { module: { loaders: [ diff --git a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-1.input.ts b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-1.input.js similarity index 86% rename from packages/migrate/loaders/__tests__/__testfixtures__/loaders-1.input.ts rename to packages/migrate/loaders/__tests__/__testfixtures__/loaders-1.input.js index 64bced753e4..0662abea05e 100644 --- a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-1.input.ts +++ b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-1.input.js @@ -1,4 +1,4 @@ -export default { +module.exports = { module: { loaders: [ { diff --git a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-2.input.ts b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-2.input.js similarity index 90% rename from packages/migrate/loaders/__tests__/__testfixtures__/loaders-2.input.ts rename to packages/migrate/loaders/__tests__/__testfixtures__/loaders-2.input.js index 1dcd9a55334..388182d1d9e 100644 --- a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-2.input.ts +++ b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-2.input.js @@ -1,4 +1,4 @@ -export default { +module.exports = { module: { loaders: [ { diff --git a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-3.input.ts b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-3.input.js similarity index 81% rename from packages/migrate/loaders/__tests__/__testfixtures__/loaders-3.input.ts rename to packages/migrate/loaders/__tests__/__testfixtures__/loaders-3.input.js index 43c2ada1ea9..cef7c100bb7 100644 --- a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-3.input.ts +++ b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-3.input.js @@ -1,4 +1,4 @@ -export default { +module.exports = { module: { preLoaders: [ { diff --git a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-4.input.ts b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-4.input.js similarity index 82% rename from packages/migrate/loaders/__tests__/__testfixtures__/loaders-4.input.ts rename to packages/migrate/loaders/__tests__/__testfixtures__/loaders-4.input.js index 117ccfdcf4e..863f7acb499 100644 --- a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-4.input.ts +++ b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-4.input.js @@ -1,4 +1,4 @@ -export default { +module.exports = { module: { postLoaders: [ { diff --git a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-5.input.ts b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-5.input.js similarity index 89% rename from packages/migrate/loaders/__tests__/__testfixtures__/loaders-5.input.ts rename to packages/migrate/loaders/__tests__/__testfixtures__/loaders-5.input.js index 42266dafbc4..63758597dcf 100644 --- a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-5.input.ts +++ b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-5.input.js @@ -1,4 +1,4 @@ -export default { +module.exports = { module: { loaders: [ { diff --git a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-6.input.ts b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-6.input.js similarity index 89% rename from packages/migrate/loaders/__tests__/__testfixtures__/loaders-6.input.ts rename to packages/migrate/loaders/__tests__/__testfixtures__/loaders-6.input.js index 4840f5be1d7..405e508e2d7 100644 --- a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-6.input.ts +++ b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-6.input.js @@ -1,4 +1,4 @@ -export default { +module.exports = { module: { loaders: [ { diff --git a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-7.input.ts b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-7.input.js similarity index 89% rename from packages/migrate/loaders/__tests__/__testfixtures__/loaders-7.input.ts rename to packages/migrate/loaders/__tests__/__testfixtures__/loaders-7.input.js index dc7122ebfe7..1b685ab72ba 100644 --- a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-7.input.ts +++ b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-7.input.js @@ -1,4 +1,4 @@ -export default { +module.exports = { module: { loaders: [ { diff --git a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-8.input.js b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-8.input.js new file mode 100644 index 00000000000..1be3161d4b7 --- /dev/null +++ b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-8.input.js @@ -0,0 +1,11 @@ +module.exports = { + module: { + loaders: [ + { + include: path.join(__dirname, "src"), + loaders: ["style", "css?modules&importLoaders=1&string=test123"], + test: /\.js$/ + } + ] + } +}; diff --git a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-8.input.ts b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-8.input.ts deleted file mode 100644 index ef4bb00b9d1..00000000000 --- a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-8.input.ts +++ /dev/null @@ -1,12 +0,0 @@ -import * as path from "path"; -module.exports = { - module: { - loaders: [ - { - include: path.join(__dirname, "src"), - loaders: ["style", "css?modules&importLoaders=1&string=test123"], - test: /\.js$/, - }, - ], - }, -}; diff --git a/packages/migrate/loaders/__tests__/__testfixtures__/loaders-9.input.ts b/packages/migrate/loaders/__tests__/__testfixtures__/loaders-9.input.js similarity index 100% rename from packages/migrate/loaders/__tests__/__testfixtures__/loaders-9.input.ts rename to packages/migrate/loaders/__tests__/__testfixtures__/loaders-9.input.js diff --git a/packages/migrate/moduleConcatenationPlugin/__tests__/__snapshots__/moduleConcatenationPlugin.test.ts.snap b/packages/migrate/moduleConcatenationPlugin/__tests__/__snapshots__/moduleConcatenationPlugin.test.ts.snap index d108b19ff45..5a974551a29 100644 --- a/packages/migrate/moduleConcatenationPlugin/__tests__/__snapshots__/moduleConcatenationPlugin.test.ts.snap +++ b/packages/migrate/moduleConcatenationPlugin/__tests__/__snapshots__/moduleConcatenationPlugin.test.ts.snap @@ -1,36 +1,31 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`moduleConcatenationPlugin transforms correctly using "moduleConcatenationPlugin-0" data 1`] = ` -"import webpack from \\"webpack\\"; -module.exports = { - optimizations: { - concatenateModules: true - } +"module.exports = { + optimizations: { + concatenateModules: true + } }; " `; exports[`moduleConcatenationPlugin transforms correctly using "moduleConcatenationPlugin-1" data 1`] = ` -"import webpack from \\"webpack\\"; -class Foo {} -module.exports = { - optimizations: { - splitChunks: false, - concatenateModules: true - }, - plugins: [new Foo()], +"module.exports = { + optimizations: { + splitChunks: false, + concatenateModules: true + }, + plugins: [new Foo()] }; " `; exports[`moduleConcatenationPlugin transforms correctly using "moduleConcatenationPlugin-2" data 1`] = ` -"import webpack from \\"webpack\\"; -class Foo {} -module.exports = { - optimizations: { - concatenateModules: true - }, - plugins: [new Foo()], +"module.exports = { + optimizations: { + concatenateModules: true + }, + plugins: [new Foo()] }; " `; diff --git a/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-0.input.js b/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-0.input.js new file mode 100644 index 00000000000..cd8dd6c0e65 --- /dev/null +++ b/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-0.input.js @@ -0,0 +1,3 @@ +module.exports = { + plugins: [new webpack.optimize.ModuleConcatenationPlugin()] +}; diff --git a/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-0.input.ts b/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-0.input.ts deleted file mode 100644 index 5c60c9ff999..00000000000 --- a/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-0.input.ts +++ /dev/null @@ -1,4 +0,0 @@ -import webpack from "webpack"; -module.exports = { - plugins: [new webpack.optimize.ModuleConcatenationPlugin()], -}; diff --git a/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-1.input.js b/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-1.input.js new file mode 100644 index 00000000000..4681fe01cb8 --- /dev/null +++ b/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-1.input.js @@ -0,0 +1,6 @@ +module.exports = { + optimizations: { + splitChunks: false + }, + plugins: [new Foo(), new webpack.optimize.ModuleConcatenationPlugin()] +}; diff --git a/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-1.input.ts b/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-1.input.ts deleted file mode 100644 index 9c44d562cc2..00000000000 --- a/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-1.input.ts +++ /dev/null @@ -1,8 +0,0 @@ -import webpack from "webpack"; -class Foo {} -module.exports = { - optimizations: { - splitChunks: false, - }, - plugins: [new Foo(), new webpack.optimize.ModuleConcatenationPlugin()], -}; diff --git a/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-2.input.js b/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-2.input.js new file mode 100644 index 00000000000..1cae8402ad0 --- /dev/null +++ b/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-2.input.js @@ -0,0 +1,6 @@ +module.exports = { + optimizations: { + concatenateModules: false + }, + plugins: [new Foo(), new webpack.optimize.ModuleConcatenationPlugin()] +}; diff --git a/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-2.input.ts b/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-2.input.ts deleted file mode 100644 index 9be55345c7d..00000000000 --- a/packages/migrate/moduleConcatenationPlugin/__tests__/__testfixtures__/moduleConcatenationPlugin-2.input.ts +++ /dev/null @@ -1,8 +0,0 @@ -import webpack from "webpack"; -class Foo {} -module.exports = { - optimizations: { - concatenateModules: false, - }, - plugins: [new Foo(), new webpack.optimize.ModuleConcatenationPlugin()], -}; diff --git a/packages/migrate/namedModulesPlugin/__snapshots__/namedModulesPlugin.test.js.snap b/packages/migrate/namedModulesPlugin/__tests__/__snapshots__/namedModulesPlugin.test.ts.snap similarity index 100% rename from packages/migrate/namedModulesPlugin/__snapshots__/namedModulesPlugin.test.js.snap rename to packages/migrate/namedModulesPlugin/__tests__/__snapshots__/namedModulesPlugin.test.ts.snap diff --git a/packages/migrate/namedModulesPlugin/__testfixtures__/namedModulesPlugin-0.input.js b/packages/migrate/namedModulesPlugin/__tests__/__testfixtures__/namedModulesPlugin-0.input.js similarity index 100% rename from packages/migrate/namedModulesPlugin/__testfixtures__/namedModulesPlugin-0.input.js rename to packages/migrate/namedModulesPlugin/__tests__/__testfixtures__/namedModulesPlugin-0.input.js diff --git a/packages/migrate/namedModulesPlugin/__testfixtures__/namedModulesPlugin-1.input.js b/packages/migrate/namedModulesPlugin/__tests__/__testfixtures__/namedModulesPlugin-1.input.js similarity index 100% rename from packages/migrate/namedModulesPlugin/__testfixtures__/namedModulesPlugin-1.input.js rename to packages/migrate/namedModulesPlugin/__tests__/__testfixtures__/namedModulesPlugin-1.input.js diff --git a/packages/migrate/namedModulesPlugin/__testfixtures__/namedModulesPlugin-2.input.js b/packages/migrate/namedModulesPlugin/__tests__/__testfixtures__/namedModulesPlugin-2.input.js similarity index 100% rename from packages/migrate/namedModulesPlugin/__testfixtures__/namedModulesPlugin-2.input.js rename to packages/migrate/namedModulesPlugin/__tests__/__testfixtures__/namedModulesPlugin-2.input.js diff --git a/packages/migrate/namedModulesPlugin/__tests__/namedModulesPlugin.test.ts b/packages/migrate/namedModulesPlugin/__tests__/namedModulesPlugin.test.ts new file mode 100644 index 00000000000..ff24c9912eb --- /dev/null +++ b/packages/migrate/namedModulesPlugin/__tests__/namedModulesPlugin.test.ts @@ -0,0 +1,5 @@ +import defineTest from "@webpack-cli/utils/defineTest"; +import { join } from "path"; +defineTest(join(__dirname, ".."), "namedModulesPlugin", "namedModulesPlugin-0"); +defineTest(join(__dirname, ".."), "namedModulesPlugin", "namedModulesPlugin-1"); +defineTest(join(__dirname, ".."), "namedModulesPlugin", "namedModulesPlugin-2"); diff --git a/packages/migrate/namedModulesPlugin/namedModulesPlugin.test.js b/packages/migrate/namedModulesPlugin/namedModulesPlugin.test.js deleted file mode 100644 index b0a0b14969a..00000000000 --- a/packages/migrate/namedModulesPlugin/namedModulesPlugin.test.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -const defineTest = require("@webpack-cli/utils/defineTest").default; - -defineTest(__dirname, "namedModulesPlugin", "namedModulesPlugin-0"); -defineTest(__dirname, "namedModulesPlugin", "namedModulesPlugin-1"); -defineTest(__dirname, "namedModulesPlugin", "namedModulesPlugin-2"); diff --git a/packages/migrate/noEmitOnErrorsPlugin/__testfixtures__/noEmitOnErrorsPlugin-0.input.js b/packages/migrate/noEmitOnErrorsPlugin/__testfixtures__/noEmitOnErrorsPlugin-0.input.js deleted file mode 100644 index 040e6e057e4..00000000000 --- a/packages/migrate/noEmitOnErrorsPlugin/__testfixtures__/noEmitOnErrorsPlugin-0.input.js +++ /dev/null @@ -1,5 +0,0 @@ -module.export = { - plugins: [ - new webpack.NoEmitOnErrorsPlugin() - ] -} diff --git a/packages/migrate/noEmitOnErrorsPlugin/__testfixtures__/noEmitOnErrorsPlugin-1.input.js b/packages/migrate/noEmitOnErrorsPlugin/__testfixtures__/noEmitOnErrorsPlugin-1.input.js deleted file mode 100644 index a194920c60a..00000000000 --- a/packages/migrate/noEmitOnErrorsPlugin/__testfixtures__/noEmitOnErrorsPlugin-1.input.js +++ /dev/null @@ -1,9 +0,0 @@ -module.export = { - optimizations: { - splitChunks: false - }, - plugins: [ - new Foo(), - new webpack.NoEmitOnErrorsPlugin() - ] -} diff --git a/packages/migrate/noEmitOnErrorsPlugin/__testfixtures__/noEmitOnErrorsPlugin-2.input.js b/packages/migrate/noEmitOnErrorsPlugin/__testfixtures__/noEmitOnErrorsPlugin-2.input.js deleted file mode 100644 index d320a16507a..00000000000 --- a/packages/migrate/noEmitOnErrorsPlugin/__testfixtures__/noEmitOnErrorsPlugin-2.input.js +++ /dev/null @@ -1,9 +0,0 @@ -module.export = { - optimizations: { - noEmitOnErrors: false - }, - plugins: [ - new Foo(), - new webpack.NoEmitOnErrorsPlugin() - ] -} diff --git a/packages/migrate/noEmitOnErrorsPlugin/__snapshots__/noEmitOnErrorsPlugin.test.js.snap b/packages/migrate/noEmitOnErrorsPlugin/__tests__/__snapshots__/noEmitOnErrorsPlugin.test.ts.snap similarity index 82% rename from packages/migrate/noEmitOnErrorsPlugin/__snapshots__/noEmitOnErrorsPlugin.test.js.snap rename to packages/migrate/noEmitOnErrorsPlugin/__tests__/__snapshots__/noEmitOnErrorsPlugin.test.ts.snap index b831648670e..6febeb7012a 100644 --- a/packages/migrate/noEmitOnErrorsPlugin/__snapshots__/noEmitOnErrorsPlugin.test.js.snap +++ b/packages/migrate/noEmitOnErrorsPlugin/__tests__/__snapshots__/noEmitOnErrorsPlugin.test.ts.snap @@ -1,31 +1,31 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`noEmitOnErrorsPlugin transforms correctly using "noEmitOnErrorsPlugin-0" data 1`] = ` -"module.export = { +"module.exports = { optimizations: { noEmitOnErrors: true } -} +}; " `; exports[`noEmitOnErrorsPlugin transforms correctly using "noEmitOnErrorsPlugin-1" data 1`] = ` -"module.export = { +"module.exports = { optimizations: { splitChunks: false, noEmitOnErrors: true }, - plugins: [new Foo()] -} + plugins: [new Foo()] +}; " `; exports[`noEmitOnErrorsPlugin transforms correctly using "noEmitOnErrorsPlugin-2" data 1`] = ` -"module.export = { +"module.exports = { optimizations: { noEmitOnErrors: true }, - plugins: [new Foo()] -} + plugins: [new Foo()] +}; " `; diff --git a/packages/migrate/noEmitOnErrorsPlugin/__tests__/__testfixtures__/noEmitOnErrorsPlugin-0.input.js b/packages/migrate/noEmitOnErrorsPlugin/__tests__/__testfixtures__/noEmitOnErrorsPlugin-0.input.js new file mode 100644 index 00000000000..7eb2fa30679 --- /dev/null +++ b/packages/migrate/noEmitOnErrorsPlugin/__tests__/__testfixtures__/noEmitOnErrorsPlugin-0.input.js @@ -0,0 +1,3 @@ +module.exports = { + plugins: [new webpack.NoEmitOnErrorsPlugin()] +}; diff --git a/packages/migrate/noEmitOnErrorsPlugin/__tests__/__testfixtures__/noEmitOnErrorsPlugin-1.input.js b/packages/migrate/noEmitOnErrorsPlugin/__tests__/__testfixtures__/noEmitOnErrorsPlugin-1.input.js new file mode 100644 index 00000000000..9d409eb31d0 --- /dev/null +++ b/packages/migrate/noEmitOnErrorsPlugin/__tests__/__testfixtures__/noEmitOnErrorsPlugin-1.input.js @@ -0,0 +1,6 @@ +module.exports = { + optimizations: { + splitChunks: false + }, + plugins: [new Foo(), new webpack.NoEmitOnErrorsPlugin()] +}; diff --git a/packages/migrate/noEmitOnErrorsPlugin/__tests__/__testfixtures__/noEmitOnErrorsPlugin-2.input.js b/packages/migrate/noEmitOnErrorsPlugin/__tests__/__testfixtures__/noEmitOnErrorsPlugin-2.input.js new file mode 100644 index 00000000000..b30145bcc85 --- /dev/null +++ b/packages/migrate/noEmitOnErrorsPlugin/__tests__/__testfixtures__/noEmitOnErrorsPlugin-2.input.js @@ -0,0 +1,6 @@ +module.exports = { + optimizations: { + noEmitOnErrors: false + }, + plugins: [new Foo(), new webpack.NoEmitOnErrorsPlugin()] +}; diff --git a/packages/migrate/noEmitOnErrorsPlugin/__tests__/noEmitOnErrorsPlugin.test.ts b/packages/migrate/noEmitOnErrorsPlugin/__tests__/noEmitOnErrorsPlugin.test.ts new file mode 100644 index 00000000000..2e3fe50a758 --- /dev/null +++ b/packages/migrate/noEmitOnErrorsPlugin/__tests__/noEmitOnErrorsPlugin.test.ts @@ -0,0 +1,17 @@ +import defineTest from "@webpack-cli/utils/defineTest"; +import { join } from "path"; +defineTest( + join(__dirname, ".."), + "noEmitOnErrorsPlugin", + "noEmitOnErrorsPlugin-0", +); +defineTest( + join(__dirname, ".."), + "noEmitOnErrorsPlugin", + "noEmitOnErrorsPlugin-1", +); +defineTest( + join(__dirname, ".."), + "noEmitOnErrorsPlugin", + "noEmitOnErrorsPlugin-2", +); diff --git a/packages/migrate/noEmitOnErrorsPlugin/noEmitOnErrorsPlugin.test.js b/packages/migrate/noEmitOnErrorsPlugin/noEmitOnErrorsPlugin.test.js deleted file mode 100644 index fc7c0663748..00000000000 --- a/packages/migrate/noEmitOnErrorsPlugin/noEmitOnErrorsPlugin.test.js +++ /dev/null @@ -1,7 +0,0 @@ -"use strict"; - -const defineTest = require("@webpack-cli/utils/defineTest").default; - -defineTest(__dirname, "noEmitOnErrorsPlugin", "noEmitOnErrorsPlugin-0"); -defineTest(__dirname, "noEmitOnErrorsPlugin", "noEmitOnErrorsPlugin-1"); -defineTest(__dirname, "noEmitOnErrorsPlugin", "noEmitOnErrorsPlugin-2"); diff --git a/packages/migrate/outputPath/__tests__/__snapshots__/outputPath.test.ts.snap b/packages/migrate/outputPath/__tests__/__snapshots__/outputPath.test.ts.snap index 851dcbcb42d..faf8dd2b327 100644 --- a/packages/migrate/outputPath/__tests__/__snapshots__/outputPath.test.ts.snap +++ b/packages/migrate/outputPath/__tests__/__snapshots__/outputPath.test.ts.snap @@ -10,21 +10,19 @@ exports[`outputPath transforms correctly using "outputPath-0" data 1`] = ` `; exports[`outputPath transforms correctly using "outputPath-1" data 1`] = ` -"import * as path from \\"path\\"; -module.exports = { - output: { - path: path.join(__dirname, \\"dist\\"), - }, +"module.exports = { + output: { + path: path.join(__dirname, \\"dist\\") + } }; " `; exports[`outputPath transforms correctly using "outputPath-2" data 1`] = ` -"import * as path from \\"path\\"; -module.exports = { - output: { - path: path.join(__dirname, \\"dist\\"), - }, +"module.exports = { + output: { + path: path.join(__dirname, \\"dist\\") + } }; " `; diff --git a/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-0.input.ts b/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-0.input.js similarity index 100% rename from packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-0.input.ts rename to packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-0.input.js diff --git a/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-1.input.js b/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-1.input.js new file mode 100644 index 00000000000..18e3d927d8f --- /dev/null +++ b/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-1.input.js @@ -0,0 +1,5 @@ +module.exports = { + output: { + path: path.join(__dirname, "dist") + } +}; diff --git a/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-1.input.ts b/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-1.input.ts deleted file mode 100644 index 12117f5c3e1..00000000000 --- a/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-1.input.ts +++ /dev/null @@ -1,6 +0,0 @@ -import * as path from "path"; -module.exports = { - output: { - path: path.join(__dirname, "dist"), - }, -}; diff --git a/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-2.input.js b/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-2.input.js new file mode 100644 index 00000000000..9f9c30a0420 --- /dev/null +++ b/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-2.input.js @@ -0,0 +1,5 @@ +module.exports = { + output: { + path: "dist" + } +}; diff --git a/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-2.input.ts b/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-2.input.ts deleted file mode 100644 index eace16103ce..00000000000 --- a/packages/migrate/outputPath/__tests__/__testfixtures__/outputPath-2.input.ts +++ /dev/null @@ -1,6 +0,0 @@ -import * as path from "path"; -module.exports = { - output: { - path: "dist", - }, -}; diff --git a/packages/migrate/removeDeprecatedPlugins/__tests__/__snapshots__/removeDeprecatedPlugins.test.ts.snap b/packages/migrate/removeDeprecatedPlugins/__tests__/__snapshots__/removeDeprecatedPlugins.test.ts.snap index d459445a8fe..62b69a6e5de 100644 --- a/packages/migrate/removeDeprecatedPlugins/__tests__/__snapshots__/removeDeprecatedPlugins.test.ts.snap +++ b/packages/migrate/removeDeprecatedPlugins/__tests__/__snapshots__/removeDeprecatedPlugins.test.ts.snap @@ -1,51 +1,42 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`removeDeprecatedPlugins transforms correctly using "removeDeprecatedPlugins-0" data 1`] = ` -"// Works for OccurrenceOrderPlugin -import webpack from \\"webpack\\"; -module.exports = {}; +"module.exports = {}; " `; exports[`removeDeprecatedPlugins transforms correctly using "removeDeprecatedPlugins-1" data 1`] = ` -"// Works for DedupePlugin -import webpack from \\"webpack\\"; - -module.exports = {}; +"module.exports = {}; " `; exports[`removeDeprecatedPlugins transforms correctly using "removeDeprecatedPlugins-2" data 1`] = ` -"// Doesn't remove unmatched plugins -import webpack from \\"webpack\\"; - -module.exports = { - plugins: [new webpack.optimize.UglifyJsPlugin()], +"module.exports = { + plugins: [new webpack.optimize.UglifyJsPlugin()] }; " `; exports[`removeDeprecatedPlugins transforms correctly using "removeDeprecatedPlugins-3" data 1`] = ` "// This should throw -import webpack from \\"webpack\\"; -export default (config) => { - config.plugins.push(new webpack.optimize.UglifyJsPlugin()); - config.plugins.push(new webpack.optimize.DedupePlugin()); - config.plugins.push(new webpack.optimize.OccurrenceOrderPlugin()); - return config; +module.exports = config => { + config.plugins.push(new webpack.optimize.UglifyJsPlugin()); + config.plugins.push(new webpack.optimize.DedupePlugin()); + config.plugins.push(new webpack.optimize.OccurrenceOrderPlugin()); + return config; }; " `; exports[`removeDeprecatedPlugins transforms correctly using "removeDeprecatedPlugins-4" data 1`] = ` "// This should throw -import webpack from \\"webpack\\"; +const webpack = require(\\"webpack\\"); const inst = new webpack.optimize.OccurrenceOrderPlugin(); -export default (config) => { - config.plugins = [inst]; - return config; +module.exports = config => { + config.plugins = [inst]; + return config; }; " `; diff --git a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-0.input.js b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-0.input.js new file mode 100644 index 00000000000..5171ac6d172 --- /dev/null +++ b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-0.input.js @@ -0,0 +1,3 @@ +module.exports = { + plugins: [new webpack.optimize.OccurrenceOrderPlugin()] +}; diff --git a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-0.input.ts b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-0.input.ts deleted file mode 100644 index c67bac6b636..00000000000 --- a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-0.input.ts +++ /dev/null @@ -1,5 +0,0 @@ -// Works for OccurrenceOrderPlugin -import webpack from "webpack"; -module.exports = { - plugins: [new webpack.optimize.OccurrenceOrderPlugin()], -}; diff --git a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-1.input.js b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-1.input.js new file mode 100644 index 00000000000..73c1c9554fd --- /dev/null +++ b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-1.input.js @@ -0,0 +1,3 @@ +module.exports = { + plugins: [new webpack.optimize.DedupePlugin()] +}; diff --git a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-1.input.ts b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-1.input.ts deleted file mode 100644 index 6a34f8b5f99..00000000000 --- a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-1.input.ts +++ /dev/null @@ -1,6 +0,0 @@ -// Works for DedupePlugin -import webpack from "webpack"; - -module.exports = { - plugins: [new webpack.optimize.DedupePlugin()], -}; diff --git a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-2.input.js b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-2.input.js new file mode 100644 index 00000000000..93c058b3fff --- /dev/null +++ b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-2.input.js @@ -0,0 +1,3 @@ +module.exports = { + plugins: [new webpack.optimize.OccurrenceOrderPlugin(), new webpack.optimize.UglifyJsPlugin(), new webpack.optimize.DedupePlugin()] +}; diff --git a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-2.input.ts b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-2.input.ts deleted file mode 100644 index cf7235f8883..00000000000 --- a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-2.input.ts +++ /dev/null @@ -1,10 +0,0 @@ -// Doesn't remove unmatched plugins -import webpack from "webpack"; - -module.exports = { - plugins: [ - new webpack.optimize.OccurrenceOrderPlugin(), - new webpack.optimize.UglifyJsPlugin(), - new webpack.optimize.DedupePlugin(), - ], -}; diff --git a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-3.input.js b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-3.input.js new file mode 100644 index 00000000000..abdd8a4599b --- /dev/null +++ b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-3.input.js @@ -0,0 +1,8 @@ +// This should throw + +module.exports = config => { + config.plugins.push(new webpack.optimize.UglifyJsPlugin()); + config.plugins.push(new webpack.optimize.DedupePlugin()); + config.plugins.push(new webpack.optimize.OccurrenceOrderPlugin()); + return config; +}; diff --git a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-3.input.ts b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-3.input.ts deleted file mode 100644 index 63f88411213..00000000000 --- a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-3.input.ts +++ /dev/null @@ -1,9 +0,0 @@ -// This should throw -import webpack from "webpack"; - -export default (config) => { - config.plugins.push(new webpack.optimize.UglifyJsPlugin()); - config.plugins.push(new webpack.optimize.DedupePlugin()); - config.plugins.push(new webpack.optimize.OccurrenceOrderPlugin()); - return config; -}; diff --git a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-4.input.js b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-4.input.js new file mode 100644 index 00000000000..b436cbdb8ad --- /dev/null +++ b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-4.input.js @@ -0,0 +1,8 @@ +// This should throw +const webpack = require("webpack"); + +const inst = new webpack.optimize.OccurrenceOrderPlugin(); +module.exports = config => { + config.plugins = [inst]; + return config; +}; diff --git a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-4.input.ts b/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-4.input.ts deleted file mode 100644 index add2a9ad67b..00000000000 --- a/packages/migrate/removeDeprecatedPlugins/__tests__/__testfixtures__/removeDeprecatedPlugins-4.input.ts +++ /dev/null @@ -1,8 +0,0 @@ -// This should throw -import webpack from "webpack"; - -const inst = new webpack.optimize.OccurrenceOrderPlugin(); -export default (config) => { - config.plugins = [inst]; - return config; -}; diff --git a/packages/migrate/removeJsonLoader/__tests__/__snapshots__/removeJsonLoader.test.ts.snap b/packages/migrate/removeJsonLoader/__tests__/__snapshots__/removeJsonLoader.test.ts.snap index 7f0e1cb3fc7..cb5cf219f5e 100644 --- a/packages/migrate/removeJsonLoader/__tests__/__snapshots__/removeJsonLoader.test.ts.snap +++ b/packages/migrate/removeJsonLoader/__tests__/__snapshots__/removeJsonLoader.test.ts.snap @@ -1,53 +1,53 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`removeJsonLoader transforms correctly using "removeJsonLoader-0" data 1`] = ` -"export default { - module: { - rules: [ - { - test: /\\\\.yml/, - use: [{ - loader: \\"another-loader\\", - }, { - loader: \\"yml-loader\\", - }], - }, - ], - }, +"module.exports = { + module: { + rules: [ + { + test: /\\\\.yml/, + use: [{ + loader: \\"another-loader\\" + }, { + loader: \\"yml-loader\\" + }] + } + ] + } }; " `; exports[`removeJsonLoader transforms correctly using "removeJsonLoader-1" data 1`] = ` -"export default { - module: { - rules: [ - { - test: /\\\\.yml/, - use: [{ - loader: \\"yml-loader\\", - }], - }, - ], - }, +"module.exports = { + module: { + rules: [ + { + test: /\\\\.yml/, + use: [{ + loader: \\"yml-loader\\" + }] + } + ] + } }; " `; exports[`removeJsonLoader transforms correctly using "removeJsonLoader-2" data 1`] = ` -"export default { - module: { - rules: [], - }, +"module.exports = { + module: { + rules: [] + } }; " `; exports[`removeJsonLoader transforms correctly using "removeJsonLoader-3" data 1`] = ` -"export default { - module: { - rules: [], - }, +"module.exports = { + module: { + rules: [] + } }; " `; diff --git a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-0.input.js b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-0.input.js new file mode 100644 index 00000000000..a492d057aec --- /dev/null +++ b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-0.input.js @@ -0,0 +1,20 @@ +module.exports = { + module: { + rules: [ + { + test: /\.yml/, + use: [ + { + loader: "json-loader" + }, + { + loader: "another-loader" + }, + { + loader: "yml-loader" + } + ] + } + ] + } +}; diff --git a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-0.input.ts b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-0.input.ts deleted file mode 100644 index 3fdaec96b28..00000000000 --- a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-0.input.ts +++ /dev/null @@ -1,20 +0,0 @@ -export default { - module: { - rules: [ - { - test: /\.yml/, - use: [ - { - loader: "json-loader", - }, - { - loader: "another-loader", - }, - { - loader: "yml-loader", - }, - ], - }, - ], - }, -}; diff --git a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-1.input.js b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-1.input.js new file mode 100644 index 00000000000..cf3e50853c4 --- /dev/null +++ b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-1.input.js @@ -0,0 +1,17 @@ +module.exports = { + module: { + rules: [ + { + test: /\.yml/, + use: [ + { + loader: "json-loader" + }, + { + loader: "yml-loader" + } + ] + } + ] + } +}; diff --git a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-1.input.ts b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-1.input.ts deleted file mode 100644 index b2b1031b7bc..00000000000 --- a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-1.input.ts +++ /dev/null @@ -1,17 +0,0 @@ -export default { - module: { - rules: [ - { - test: /\.yml/, - use: [ - { - loader: "json-loader", - }, - { - loader: "yml-loader", - }, - ], - }, - ], - }, -}; diff --git a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-2.input.js b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-2.input.js new file mode 100644 index 00000000000..5a8709cb4b4 --- /dev/null +++ b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-2.input.js @@ -0,0 +1,10 @@ +module.exports = { + module: { + rules: [ + { + loader: "json-loader", + test: /\.json/ + } + ] + } +}; diff --git a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-2.input.ts b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-2.input.ts deleted file mode 100644 index d9dfa19b162..00000000000 --- a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-2.input.ts +++ /dev/null @@ -1,10 +0,0 @@ -export default { - module: { - rules: [ - { - loader: "json-loader", - test: /\.json/, - }, - ], - }, -}; diff --git a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-3.input.js b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-3.input.js new file mode 100644 index 00000000000..c4050edc398 --- /dev/null +++ b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-3.input.js @@ -0,0 +1,14 @@ +module.exports = { + module: { + rules: [ + { + test: /\.json/, + use: [ + { + loader: "json-loader" + } + ] + } + ] + } +}; diff --git a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-3.input.ts b/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-3.input.ts deleted file mode 100644 index c52db6684f7..00000000000 --- a/packages/migrate/removeJsonLoader/__tests__/__testfixtures__/removeJsonLoader-3.input.ts +++ /dev/null @@ -1,14 +0,0 @@ -export default { - module: { - rules: [ - { - test: /\.json/, - use: [ - { - loader: "json-loader", - }, - ], - }, - ], - }, -}; diff --git a/packages/migrate/resolve/__tests__/__snapshots__/resolve.test.ts.snap b/packages/migrate/resolve/__tests__/__snapshots__/resolve.test.ts.snap index ba6af31fcb2..83ab9cf40bc 100644 --- a/packages/migrate/resolve/__tests__/__snapshots__/resolve.test.ts.snap +++ b/packages/migrate/resolve/__tests__/__snapshots__/resolve.test.ts.snap @@ -1,29 +1,28 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`resolve transforms correctly 1`] = ` -"import * as path from \\"path\\"; - -export default [ - { - resolve: { - modules: [path.resolve(\\"/src\\")], +"const path = require(\\"patch\\"); +module.exports = [ + { + resolve: { + modules: [path.resolve(\\"/src\\")] + } }, - }, - { - resolve: { - modules: [path.resolve(\\"/src\\")], + { + resolve: { + modules: [path.resolve(\\"/src\\")] + } }, - }, - { - resolve: { - modules: [path.resolve(\\"/src\\"), \\"node_modules\\"], + { + resolve: { + modules: [path.resolve(\\"/src\\"), \\"node_modules\\"] + } }, - }, - { - resolve: { - modules: [\\"node_modules\\", path.resolve(\\"/src\\")] - }, - }, + { + resolve: { + modules: [\\"node_modules\\", path.resolve(\\"/src\\")] + } + } ]; " `; diff --git a/packages/migrate/resolve/__tests__/__testfixtures__/resolve.input.js b/packages/migrate/resolve/__tests__/__testfixtures__/resolve.input.js new file mode 100644 index 00000000000..7449362ea5f --- /dev/null +++ b/packages/migrate/resolve/__tests__/__testfixtures__/resolve.input.js @@ -0,0 +1,24 @@ +const path = require("patch"); +module.exports = [ + { + resolve: { + root: path.resolve("/src") + } + }, + { + resolve: { + root: [path.resolve("/src")] + } + }, + { + resolve: { + root: [path.resolve("/src"), "node_modules"] + } + }, + { + resolve: { + modules: ["node_modules"], + root: path.resolve("/src") + } + } +]; diff --git a/packages/migrate/resolve/__tests__/__testfixtures__/resolve.input.ts b/packages/migrate/resolve/__tests__/__testfixtures__/resolve.input.ts deleted file mode 100644 index 2da094d0196..00000000000 --- a/packages/migrate/resolve/__tests__/__testfixtures__/resolve.input.ts +++ /dev/null @@ -1,25 +0,0 @@ -import * as path from "path"; - -export default [ - { - resolve: { - root: path.resolve("/src"), - }, - }, - { - resolve: { - root: [path.resolve("/src")], - }, - }, - { - resolve: { - root: [path.resolve("/src"), "node_modules"], - }, - }, - { - resolve: { - modules: ["node_modules"], - root: path.resolve("/src"), - }, - }, -]; diff --git a/packages/migrate/uglifyJsPlugin/__snapshots__/uglifyJsPlugin.test.js.snap b/packages/migrate/uglifyJsPlugin/__tests__/__snapshots__/uglifyJsPlugin.test.ts.snap similarity index 100% rename from packages/migrate/uglifyJsPlugin/__snapshots__/uglifyJsPlugin.test.js.snap rename to packages/migrate/uglifyJsPlugin/__tests__/__snapshots__/uglifyJsPlugin.test.ts.snap diff --git a/packages/migrate/uglifyJsPlugin/__testfixtures__/uglifyJsPlugin-0.input.js b/packages/migrate/uglifyJsPlugin/__tests__/__testfixtures__/uglifyJsPlugin-0.input.js similarity index 100% rename from packages/migrate/uglifyJsPlugin/__testfixtures__/uglifyJsPlugin-0.input.js rename to packages/migrate/uglifyJsPlugin/__tests__/__testfixtures__/uglifyJsPlugin-0.input.js diff --git a/packages/migrate/uglifyJsPlugin/__testfixtures__/uglifyJsPlugin-1.input.js b/packages/migrate/uglifyJsPlugin/__tests__/__testfixtures__/uglifyJsPlugin-1.input.js similarity index 100% rename from packages/migrate/uglifyJsPlugin/__testfixtures__/uglifyJsPlugin-1.input.js rename to packages/migrate/uglifyJsPlugin/__tests__/__testfixtures__/uglifyJsPlugin-1.input.js diff --git a/packages/migrate/uglifyJsPlugin/__testfixtures__/uglifyJsPlugin-2.input.js b/packages/migrate/uglifyJsPlugin/__tests__/__testfixtures__/uglifyJsPlugin-2.input.js similarity index 100% rename from packages/migrate/uglifyJsPlugin/__testfixtures__/uglifyJsPlugin-2.input.js rename to packages/migrate/uglifyJsPlugin/__tests__/__testfixtures__/uglifyJsPlugin-2.input.js diff --git a/packages/migrate/uglifyJsPlugin/__testfixtures__/uglifyJsPlugin-3.input.js b/packages/migrate/uglifyJsPlugin/__tests__/__testfixtures__/uglifyJsPlugin-3.input.js similarity index 100% rename from packages/migrate/uglifyJsPlugin/__testfixtures__/uglifyJsPlugin-3.input.js rename to packages/migrate/uglifyJsPlugin/__tests__/__testfixtures__/uglifyJsPlugin-3.input.js diff --git a/packages/migrate/uglifyJsPlugin/__testfixtures__/uglifyJsPlugin-4.input.js b/packages/migrate/uglifyJsPlugin/__tests__/__testfixtures__/uglifyJsPlugin-4.input.js similarity index 100% rename from packages/migrate/uglifyJsPlugin/__testfixtures__/uglifyJsPlugin-4.input.js rename to packages/migrate/uglifyJsPlugin/__tests__/__testfixtures__/uglifyJsPlugin-4.input.js diff --git a/packages/migrate/uglifyJsPlugin/__tests__/uglifyJsPlugin.test.ts b/packages/migrate/uglifyJsPlugin/__tests__/uglifyJsPlugin.test.ts new file mode 100644 index 00000000000..5b229349d40 --- /dev/null +++ b/packages/migrate/uglifyJsPlugin/__tests__/uglifyJsPlugin.test.ts @@ -0,0 +1,7 @@ +import defineTest from "@webpack-cli/utils/defineTest"; +import { join } from "path"; +defineTest(join(__dirname, ".."), "uglifyJsPlugin", "uglifyJsPlugin-0"); +defineTest(join(__dirname, ".."), "uglifyJsPlugin", "uglifyJsPlugin-1"); +defineTest(join(__dirname, ".."), "uglifyJsPlugin", "uglifyJsPlugin-2"); +defineTest(join(__dirname, ".."), "uglifyJsPlugin", "uglifyJsPlugin-3"); +defineTest(join(__dirname, ".."), "uglifyJsPlugin", "uglifyJsPlugin-4"); diff --git a/packages/migrate/uglifyJsPlugin/uglifyJsPlugin.test.js b/packages/migrate/uglifyJsPlugin/uglifyJsPlugin.test.js deleted file mode 100644 index d60cd4ba928..00000000000 --- a/packages/migrate/uglifyJsPlugin/uglifyJsPlugin.test.js +++ /dev/null @@ -1,9 +0,0 @@ -"use strict"; - -const defineTest = require("@webpack-cli/utils/defineTest").default; - -defineTest(__dirname, "uglifyJsPlugin", "uglifyJsPlugin-0"); -defineTest(__dirname, "uglifyJsPlugin", "uglifyJsPlugin-1"); -defineTest(__dirname, "uglifyJsPlugin", "uglifyJsPlugin-2"); -defineTest(__dirname, "uglifyJsPlugin", "uglifyJsPlugin-3"); -defineTest(__dirname, "uglifyJsPlugin", "uglifyJsPlugin-4"); diff --git a/packages/utils/defineTest.ts b/packages/utils/defineTest.ts index 4070d188610..52201408dcc 100644 --- a/packages/utils/defineTest.ts +++ b/packages/utils/defineTest.ts @@ -61,7 +61,7 @@ function runSingleTransform( "__tests__", "__testfixtures__", ); - const inputPath: string = path.join(fixtureDir, testFilePrefix + ".input.ts"); + const inputPath: string = path.join(fixtureDir, testFilePrefix + ".input.js"); const source: string = fs.readFileSync(inputPath, "utf8"); let module: IModule; diff --git a/tsconfig.base.json b/tsconfig.base.json index 1b322830b9e..d92fae8bb6a 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,11 +1,16 @@ { - "compilerOptions": { - "target": "es6", - "module": "commonjs", - "moduleResolution": "node", - "allowSyntheticDefaultImports": true, - "skipLibCheck": true - }, - "include": ["packages/**/*.ts"], - "exclude": ["node_modules/**", "packages/*/node_modules/**", "packages/**/__tests__/*.test.ts", "packages/**/__testfixtures__/*.ts"] + "compilerOptions": { + "target": "es6", + "module": "commonjs", + "moduleResolution": "node", + "allowSyntheticDefaultImports": true, + "skipLibCheck": true + }, + "include": ["packages/**/*.ts"], + "exclude": [ + "node_modules/**", + "packages/*/node_modules/**", + "packages/**/__tests__/*.test.ts", + "packages/**/__testfixtures__/*.ts" + ] } diff --git a/tsconfig.json b/tsconfig.json index b76518ebc78..4257314b6ca 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { - "extends": "./tsconfig.base.json", - "compilerOptions": { - "allowJs": true - } + "extends": "./tsconfig.base.json", + "compilerOptions": { + "allowJs": true + } } diff --git a/tsconfig.packages.json b/tsconfig.packages.json index 41bddf784fc..87eae9c0e2a 100644 --- a/tsconfig.packages.json +++ b/tsconfig.packages.json @@ -1,6 +1,6 @@ { - "extends": "tsconfig.base.json", - "compilerOptions": { - "declaration": true - } + "extends": "tsconfig.base.json", + "compilerOptions": { + "declaration": true + } }