diff --git a/lib/loader-features.js b/lib/features.js similarity index 74% rename from lib/loader-features.js rename to lib/features.js index d1746cc3..34a68d6a 100644 --- a/lib/loader-features.js +++ b/lib/features.js @@ -13,9 +13,9 @@ const packageHelper = require('./package-helper'); /** * An object that holds internal configuration about different - * "loaders" that can be enabled. + * "loaders"/"plugins" that can be enabled/used. */ -const loaderFeatures = { +const features = { sass: { method: 'enableSassLoader()', packages: ['sass-loader', 'node-sass'], @@ -55,19 +55,19 @@ const loaderFeatures = { } }; -function getLoaderFeatureConfig(loaderName) { - if (!loaderFeatures[loaderName]) { - throw new Error(`Unknown loader feature ${loaderName}`); +function getFeatureConfig(featureName) { + if (!features[featureName]) { + throw new Error(`Unknown feature ${featureName}`); } - return loaderFeatures[loaderName]; + return features[featureName]; } module.exports = { - getLoaderFeatureConfig, + getFeatureConfig, - ensureLoaderPackagesExist: function(loaderName) { - const config = getLoaderFeatureConfig(loaderName); + ensurePackagesExist: function(featureName) { + const config = getFeatureConfig(featureName); packageHelper.ensurePackagesExist( config.packages, @@ -75,11 +75,11 @@ module.exports = { ); }, - getLoaderFeatureMethod: function(loaderName) { - return getLoaderFeatureConfig(loaderName).method; + getFeatureMethod: function(featureName) { + return getFeatureConfig(featureName).method; }, - getLoaderFeatureDescription: function(loaderName) { - return getLoaderFeatureConfig(loaderName).description; + getFeatureDescription: function(featureName) { + return getFeatureConfig(featureName).description; } }; diff --git a/lib/friendly-errors/formatters/missing-loader.js b/lib/friendly-errors/formatters/missing-loader.js index bebf16a9..86f67a62 100644 --- a/lib/friendly-errors/formatters/missing-loader.js +++ b/lib/friendly-errors/formatters/missing-loader.js @@ -10,7 +10,7 @@ 'use strict'; const chalk = require('chalk'); -const loaderFeatures = require('../../loader-features'); +const loaderFeatures = require('../../features'); const packageHelper = require('../../package-helper'); function formatErrors(errors) { @@ -23,10 +23,10 @@ function formatErrors(errors) { const fixes = []; if (error.loaderName) { - let neededCode = `Encore.${loaderFeatures.getLoaderFeatureMethod(error.loaderName)}`; + let neededCode = `Encore.${loaderFeatures.getFeatureMethod(error.loaderName)}`; fixes.push(`Add ${chalk.green(neededCode)} to your webpack.config.js file.`); - const loaderFeatureConfig = loaderFeatures.getLoaderFeatureConfig(error.loaderName); + const loaderFeatureConfig = loaderFeatures.getFeatureConfig(error.loaderName); const packageRecommendations = packageHelper.getPackageRecommendations( loaderFeatureConfig.packages ); @@ -44,7 +44,7 @@ function formatErrors(errors) { ]); if (error.loaderName) { - messages.push(`${chalk.bgGreen.black('', 'FIX', '')} To ${loaderFeatures.getLoaderFeatureDescription(error.loaderName)}:`); + messages.push(`${chalk.bgGreen.black('', 'FIX', '')} To ${loaderFeatures.getFeatureDescription(error.loaderName)}:`); } else { messages.push(`${chalk.bgGreen.black('', 'FIX', '')} To load ${error.file}:`); } diff --git a/lib/loaders/babel.js b/lib/loaders/babel.js index ce7a0c30..e633f134 100644 --- a/lib/loaders/babel.js +++ b/lib/loaders/babel.js @@ -9,7 +9,7 @@ 'use strict'; -const loaderFeatures = require('../loader-features'); +const loaderFeatures = require('../features'); /** * @param {WebpackConfig} webpackConfig @@ -45,7 +45,7 @@ module.exports = { }); if (webpackConfig.useReact) { - loaderFeatures.ensureLoaderPackagesExist('react'); + loaderFeatures.ensurePackagesExist('react'); babelConfig.presets.push('react'); } diff --git a/lib/loaders/css.js b/lib/loaders/css.js index cc18ba98..03308b8b 100644 --- a/lib/loaders/css.js +++ b/lib/loaders/css.js @@ -9,7 +9,7 @@ 'use strict'; -const loaderFeatures = require('../loader-features'); +const loaderFeatures = require('../features'); /** * @param {WebpackConfig} webpackConfig @@ -36,7 +36,7 @@ module.exports = { ]; if (usePostCssLoader) { - loaderFeatures.ensureLoaderPackagesExist('postcss'); + loaderFeatures.ensurePackagesExist('postcss'); const postCssLoaderOptions = { sourceMap: webpackConfig.useSourceMaps diff --git a/lib/loaders/less.js b/lib/loaders/less.js index e3986a7a..9df07dd4 100644 --- a/lib/loaders/less.js +++ b/lib/loaders/less.js @@ -9,7 +9,7 @@ 'use strict'; -const loaderFeatures = require('../loader-features'); +const loaderFeatures = require('../features'); const cssLoader = require('./css'); /** @@ -19,7 +19,7 @@ const cssLoader = require('./css'); */ module.exports = { getLoaders(webpackConfig, ignorePostCssLoader = false) { - loaderFeatures.ensureLoaderPackagesExist('less'); + loaderFeatures.ensurePackagesExist('less'); const config = { sourceMap: webpackConfig.useSourceMaps diff --git a/lib/loaders/sass.js b/lib/loaders/sass.js index 352f578d..d1ab26c7 100644 --- a/lib/loaders/sass.js +++ b/lib/loaders/sass.js @@ -9,7 +9,7 @@ 'use strict'; -const loaderFeatures = require('../loader-features'); +const loaderFeatures = require('../features'); const cssLoader = require('./css'); /** @@ -20,7 +20,7 @@ const cssLoader = require('./css'); */ module.exports = { getLoaders(webpackConfig, sassOptions = {}, ignorePostCssLoader = false) { - loaderFeatures.ensureLoaderPackagesExist('sass'); + loaderFeatures.ensurePackagesExist('sass'); const sassLoaders = [...cssLoader.getLoaders(webpackConfig, ignorePostCssLoader)]; if (true === webpackConfig.sassOptions.resolve_url_loader) { diff --git a/lib/loaders/typescript.js b/lib/loaders/typescript.js index 939e1079..55c94ff8 100644 --- a/lib/loaders/typescript.js +++ b/lib/loaders/typescript.js @@ -9,7 +9,7 @@ 'use strict'; -const loaderFeatures = require('../loader-features'); +const loaderFeatures = require('../features'); const babelLoader = require('./babel'); /** @@ -18,7 +18,7 @@ const babelLoader = require('./babel'); */ module.exports = { getLoaders(webpackConfig) { - loaderFeatures.ensureLoaderPackagesExist('typescript'); + loaderFeatures.ensurePackagesExist('typescript'); // some defaults let config = { @@ -34,7 +34,7 @@ module.exports = { // fork-ts-checker-webpack-plugin integration if (webpackConfig.useForkedTypeScriptTypeChecking) { - loaderFeatures.ensureLoaderPackagesExist('forkedtypecheck'); + loaderFeatures.ensurePackagesExist('forkedtypecheck'); // force transpileOnly to speed up config.transpileOnly = true; diff --git a/lib/loaders/vue.js b/lib/loaders/vue.js index 48d46607..853b55b1 100644 --- a/lib/loaders/vue.js +++ b/lib/loaders/vue.js @@ -9,7 +9,7 @@ 'use strict'; -const loaderFeatures = require('../loader-features'); +const loaderFeatures = require('../features'); const cssLoaderUtil = require('./css'); const sassLoaderUtil = require('./sass'); const lessLoaderUtil = require('./less'); @@ -23,7 +23,7 @@ const extractText = require('./extract-text'); */ module.exports = { getLoaders(webpackConfig, vueLoaderOptionsCallback) { - loaderFeatures.ensureLoaderPackagesExist('vue'); + loaderFeatures.ensurePackagesExist('vue'); /* * The vue-loader passes the contents of