{"id":25701,"library":"gulp-polymin2","title":"gulp-polymin2","description":"A Gulp plugin to optimize Polymer 2 components by minifying HTML, JavaScript, and CSS. It uses Babel for JS transpilation (with presets like 'babili' or 'es2015'), cssclean for CSS minification, and integrates uglify-js for JS minification. Current stable version is 1.0.2. Release cadence is low; last update was around 2017. Useful for legacy Polymer 2 builds but no longer actively maintained.","status":"deprecated","version":"1.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/michael-silva/gulp-polymin2","tags":["javascript","polymer","polymir2","webcomponent","minify","babel","es2016","js","css"],"install":[{"cmd":"npm install gulp-polymin2","lang":"bash","label":"npm"},{"cmd":"yarn add gulp-polymin2","lang":"bash","label":"yarn"},{"cmd":"pnpm add gulp-polymin2","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for Gulp plugin","package":"gulp","optional":false},{"reason":"stream transformation","package":"through2","optional":false},{"reason":"CSS minification","package":"cssclean","optional":false},{"reason":"JavaScript transpilation","package":"babel-core","optional":false},{"reason":"JavaScript minification","package":"uglify-js","optional":true}],"imports":[{"note":"CommonJS require; ESM import not supported.","wrong":"import polymin from 'gulp-polymin2';","symbol":"polymin","correct":"var polymin = require('gulp-polymin2');"},{"note":"Default export only, not named.","wrong":"const { polimin } = require('gulp-polymin2');","symbol":"polymin (default)","correct":"const polymin = require('gulp-polymin2');"},{"note":"polymin is a function returning a transform stream, not a constructor.","wrong":".pipe(new polymin(options))","symbol":"gulp.pipe","correct":".pipe(polymin(options))"}],"quickstart":{"code":"var gulp = require('gulp');\nvar polymin = require('gulp-polymin2');\n\ngulp.task('compress', function() {\n  return gulp.src('src/*.html')\n    .pipe(polymin({\n      babelPressets: 'es2015',\n      cssOptions: {},\n      jsOptions: null\n    }))\n    .pipe(gulp.dest('dist'));\n});","lang":"javascript","description":"This shows how to set up a Gulp task that uses gulp-polymin2 to optimize Polymer 2 HTML components."},"warnings":[{"fix":"Migrate to polymer-cli or @polymer/build.","message":"Package is deprecated; no longer maintained. Use modern tools like polymer-build or webpack.","severity":"deprecated","affected_versions":"*"},{"fix":"Use correct option: { babelPresets: 'es2015' }.","message":"Option name 'babelPressets' is misspelled (should be 'babelPresets'). Using 'babelPressets' will be ignored.","severity":"gotcha","affected_versions":"<=1.0.2"},{"fix":"Explicitly set jsOptions to {} to enable uglify with defaults.","message":"If jsOptions is null, uglify-js is not applied. Some expect minification by default.","severity":"gotcha","affected_versions":"*"},{"fix":"Use babel-core@^6.0.0 or switch to a modern tool.","message":"Requires Babel 6; incompatible with Babel 7+.","severity":"breaking","affected_versions":">=1.0.0 <2.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install cssclean separately: npm install --save-dev cssclean.","cause":"cssclean is not included as a dependency of gulp-polymin2.","error":"Error: Cannot find module 'cssclean'"},{"fix":"Use require: var polymin = require('gulp-polymin2');","cause":"Using default import syntax (ESM) with CommonJS module.","error":"TypeError: polymin is not a function"},{"fix":"Use babelPresets instead of babelPressets.","cause":"Misspelled option name; actual is 'babelPresets'.","error":"gulp-polymin2: option 'babelPressets' not recognized"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}