{"id":28039,"library":"pg-minify-webpack-loader","title":"pg-minify-webpack-loader","description":"Webpack loader that imports SQL files and optionally minifies them using pg-minify. Current version 0.3.0 (stable, last released 2018). Allows importing .sql files directly into webpack bundles with ES6 or CommonJS modules and configurable compression. Useful for Node.js projects using PostgreSQL, as a replacement for raw-loader.","status":"active","version":"0.3.0","language":"javascript","source_language":"en","source_url":"https://github.com/dkamyshov/pg-minify-webpack-loader","tags":["javascript","webpack","loader","nodejs","pg","pgsql","postgres","postgresql","minify"],"install":[{"cmd":"npm install pg-minify-webpack-loader","lang":"bash","label":"npm"},{"cmd":"yarn add pg-minify-webpack-loader","lang":"bash","label":"yarn"},{"cmd":"pnpm add pg-minify-webpack-loader","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"core minification engine","package":"pg-minify","optional":false}],"imports":[{"note":"Requires resolve.extensions to include .sql. CommonJS users need module:'commonjs' option or use .default.","wrong":"const sql = require('./file.sql');","symbol":"default export (string)","correct":"import sql from './file.sql';"},{"note":"Default module output is ES6; require returns a module object with .default property unless module:'commonjs' is used.","wrong":"const sql = require('./file.sql');","symbol":"CommonJS require with default","correct":"const sql = require('./file.sql').default;"},{"note":"Required in a .d.ts file for TypeScript type checking.","wrong":"","symbol":"TypeScript module declaration","correct":"declare module '*.sql' { var _: string; export default _; }"}],"quickstart":{"code":"// webpack.config.js\nmodule.exports = {\n  module: {\n    rules: [\n      {\n        test: /\\.sql$/,\n        use: 'pg-minify-webpack-loader'\n      }\n    ]\n  },\n  resolve: {\n    extensions: ['.sql']\n  }\n};\n\n// query.sql\nSELECT * FROM users WHERE id = $1;\n\n// index.js\nimport query from './query.sql';\nconsole.log(query); // 'SELECT * FROM users WHERE id=$1'\n","lang":"javascript","description":"Imports and minifies a SQL file via webpack loader. Shows webpack config, SQL input, and usage."},"warnings":[{"fix":"Add '.sql' to resolve.extensions in webpack config.","message":"resolve.extensions must include '.sql' otherwise webpack cannot resolve SQL imports.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use require('./file.sql').default or set module:'commonjs'.","message":"When module='es6' (default), CommonJS require returns an object with .default property.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Add declare module '*.sql' { var _: string; export default _; } in a .d.ts file.","message":"TypeScript users must declare a module for .sql files to avoid type errors.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Use 'use' property in rules.","message":"Using 'loader' key instead of 'use' is deprecated in webpack 4+.","severity":"deprecated","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Add resolve.extensions: ['.sql'] to webpack config.","cause":"Missing '.sql' extension in resolve.extensions.","error":"Module not found: Error: Can't resolve './file.sql' in ..."},{"fix":"Use require('./file.sql').default or set module:'commonjs'.","cause":"Using CommonJS require without .default when module='es6'.","error":"TypeError: Cannot read property 'default' of undefined"},{"fix":"Run 'npm install --save-dev pg-minify'.","cause":"pg-minify is a peer dependency not automatically installed.","error":"Cannot find module 'pg-minify'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}