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
- Loads your SQL-files into the bundle
- Minifies them 🔥
npm i --save-dev pg-minify-webpack-loader
Add this to your webpack config:
module.exports = {
module: {
rules: [
{
test: /\.sql$/,
use: 'pg-minify-webpack-loader'
}
]
},
resolve: {
extensions: ['.sql'] // remember to add this!
}
}
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
}
}
// 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);
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 _;
}
Uses pg-minify by Vitaly Tomilov.
Danil Kamyshov, 2018. Released under MIT.