Skip to content

dkamyshov/pg-minify-webpack-loader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PostgreSQL loader for webpack

Build Status npm GitHub issues

You definitely need this loader if:

  • You use webpack to build your nodejs projects
  • You include SQL-files into the release
  • You are tired of using raw-loader

Features

  1. Loads your SQL-files into the bundle
  2. Minifies them 🔥

Installing

npm i --save-dev pg-minify-webpack-loader

Webpack configuration

Add this to your webpack config:

module.exports = {
  module: {
    rules: [
      {
        test: /\.sql$/,
        use: 'pg-minify-webpack-loader'
      }
    ]
  },

  resolve: {
    extensions: ['.sql'] // remember to add this!
  }
}

Configuring the loader

The following options are available:

Name Type Accepts Default value Comment
compress boolean true, false true If true, the SQL file is minified, i.e. all the comments and unnecessary whitespaces are removed. If false, the SQL file is loaded as-is.
module string 'es6', 'commonjs' 'es6' Specifies how the module will be compiled: as ES6 or commonjs module.

The easiest way to pass options to the loader is to use the query string:

{
  test: /\.sql$/,
  use: 'pg-minify-webpack-loader?compress=false'
}

options object may also be specified:

{
  test: /\.sql$/,
  loader: 'pg-minify-webpack-loader', // 'loader' instead of 'use'!
  options: {
    compress: false
  }
}

Usage

// in ES6+ environments
import pgsqlQuery from './pgsqlQuery.sql';

// in commonjs environments (module = 'es6')
var pgsqlQuery = require('./pgsqlQuery.sql').default;

// in commonjs environments (module = 'commonjs')
var pgsqlQuery = require('./pgsqlQuery.sql');


runTheQuery(pgsqlQuery);

Usage with TypeScript

Create (if you haven't already) a separate file called declarations.d.ts in the root directory of your project and add the following code snippet:

declare module "*.sql" {
  var _: string;
  export default _;
}

Dependencies

Uses pg-minify by Vitaly Tomilov.

License

Danil Kamyshov, 2018. Released under MIT.

About

PostgreSQL webpack loader

Resources

Stars

Watchers

Forks

Packages

No packages published