Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

vue-loader-options-plugin

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

vue-loader-options-plugin

A little helper of vue-loader's advanced loader configuration.

  • 0.1.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
27
increased by28.57%
Maintainers
1
Weekly downloads
 
Created
Source

VueLoaderOptionsPlugin

A little helper for vue-loader's advanced loader configuration. Now you can use functional plugins for loaders options!

Why we need this?

According to vue-loader's mechanism, it would stringify your options for loaders as a query. In that way, plugins like stylus-loader used won't work anymore.
VueLoaderOptionsPlugin gives you ability to solve this kind of situations.

How to Install?

Install it through npm:

npm i --save-dev vue-loader-options-plugin

How to use?

In your webpack.config.js:

const VueLoaderOptionsPlugin = require('vue-loader-options-plugin')

module.exports = {
  // ... other config
  module: {
    rules: [
      {
        test: /\.vue$/,
        loader: 'vue-loader',
        options: {
          loaders: {
            js: 'babel-loader', // just list loaders here
            stylus: [
              'css-loader',
              'stylus-loader'
            ]
          },
          postcss: {
            plugins: [postcss_plugin()] // notice: vue-loader deal with postcss, leave it's config here
          }
        }
      }
      // ... other rule
    ]
  },
  plugins: [
    new VueLoaderOptionPlugin({
      babel: { // options for babel-loader, if you don't want `.babelrc`
        presets: ['es2015', 'stage-2'],
        plugins: ['transform-runtime', 'transform-object-rest-spread']
      },
      stylus: { // options for stylus-loader
        default: {
          use: [nib()], // use nib plugin
          import: ['~nib/lib/nib/index.styl']
        },
        toContext: true // stylus-loader would find options on loaderContext
      }
    }),
    // .. other plugins
  ]
}

Options

Just List all loaders' options in an object as How to use does, you don't need write -loader suffix.

loader option

toContext default: false

By default, VueLoaderOptionsPlugin would append your addtional options to webpack module's loaders that would comfort most loaders (like babel-loader).

Some other loaders (like stylus-loader) checks loaderContext for options, and toContext would make VueLoaderOptionsPlugin handle that case.

Webpack

VueLoaderOptionsPlugin is designed for Webpack@2, for Webpack@1, you should use loaderQuery way as before.

License

Copyright (c) 2017 qiyuan-wang (AKA: zisasign) Licensed under the MIT license.

Keywords

FAQs

Package last updated on 22 Jun 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc