rollup-plugin-postcss
plugins
Our great sponsors
rollup-plugin-postcss | plugins | |
---|---|---|
3 | 16 | |
672 | 3,524 | |
- | 1.4% | |
0.0 | 8.3 | |
about 2 months ago | 3 days ago | |
JavaScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rollup-plugin-postcss
-
React Library Builder using Rollup.js and Storybook
The React Library Builder supports both SCSS and CSS out of the box, so you can style your components as you normally would. If you want to use CSS modules, you can refer to the rollup-plugin-postcss documentation for more information.
-
Using Fontsource With 11ty
import { nodeResolve } from "@rollup/plugin-node-resolve"; import postcss from "rollup-plugin-postcss"; import copy from "rollup-plugin-copy"; export default [ { input: "src/js/combine.js", output: { file: "src/js/minified/index.bundle.js", sourcemap: false, } plugins: [ nodeResolve(), postcss({ extract: true, // no way to move output to another folder https://github.com/egoist/rollup-plugin-postcss/issues/250 minimize: true, }), copy({ targets: [ { src: "src/js/minified/index.bundle.css", dest: "src/styles/minified", rename: "fonts.bundle.css", }, ], verbose: true, hook: "writeBundle", }) ], } ];
-
Setting Up a JavaScript Build Process using Rollup
To process Less files we will use PostCSS, which is a JavaScript build tool for CSS, Less, and other CSS preprocessors. It also comes with a built-in minifier. We can add it to the project with a Rollup plugin:
plugins
-
Do vite builds not automatically support typescript?
But when I start a production bundling + build process, which I guess is actually made with rollup, I see Unexpected token (Note that you need plugins to import files that are not JavaScript). Lookin around, it seems like this is a rollup error, not a vite error.
-
Migrating app from parcel to rollup
rollup v3.2.3 bundles ./src/index.js → dist/bundle.js... babelHelpers: 'bundled' option was used by default. It is recommended to configure this option explicitly, read more here: https://github.com/rollup/plugins/tree/master/packages/babel#babelhelpers [!] (plugin commonjs--resolver) SyntaxError: Unexpected token (12:2) in /Users/krishna404/codeProjects/All_SmartAgent/desktopSmartAgent/src/index.js src/index.js (12:2) 10: import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns'; 11: ReactDOM.render( 12: ^ 13:
-
Rollup Library Starter
Next, we need to tell Rollup which of the modules used in our code are external to our library. Together with @rollup/plugin-node-resolve, this ensures that Rollup doesn't bundle those dependencies into our final bundle. The function makeExternalPredicate() generates the list of package names specified in dependencies and peerDependencies in package.json. All credit for this and a big thank you goes out to Mateusz Burzyński for providing it in this issue:
-
I'd like to use Svelte with PHP with SSR and an island architecture. How would I go about doing this?
// If you have external dependencies installed from // npm, you'll most likely need these plugins. In // some cases you'll need additional configuration - // consult the documentation for details: // https://github.com/rollup/plugins/tree/master/packages/commonjs resolve({ browser: true, dedupe: ['svelte'], }), commonjs(), // In dev mode, call `npm run start` once // the bundle has been generated !production && serve(), // Watch the `public` directory and refresh the // browser on changes when not in production !production && livereload('public'), // If we're building for production (npm run build // instead of npm run dev), minify production && terser(), ], watch: { clearScreen: false, },
-
Is there a way I can conditionally choose which module I import at compile time?
Then in this case, if you don't want to use Vite's dynamic imports, you can conditionally use this plugin in your vite config under rollupOptions. https://github.com/rollup/plugins/tree/master/packages/inject. This way you won't even need to use env vars.
-
Svelte And Tailwind
compilerOptions: { // enable run-time checks when not in production dev: !production } }), // we'll extract any component CSS out into // a separate file - better for performance css({ output: 'bundle.css' }), // If you have external dependencies installed from // npm, you'll most likely need these plugins. In // some cases you'll need additional configuration - // consult the documentation for details: // https://github.com/rollup/plugins/tree/master/packages/commonjs resolve({ browser: true, dedupe: ['svelte'] }), commonjs(), // In dev mode, call \npm run start` once // the bundle has been generated !production && serve(), // Watch the `public` directory and refresh the // browser on changes when not in production !production && livereload('public'), // If we're building for production (npm run build // instead of npm run dev), minify production && terser() ], watch: { clearScreen: false } };`
-
Rollup/commonjs getting unexpected token for hex numeric literals in package
You should submit an issue there: https://github.com/rollup/plugins/tree/master/packages/commonjs
-
How to use SVGs in React
In Webpack 5, this is (surprisingly) simple to setup. Parcel 2 handles this out of the box with a special import prefix. Rollup has an official plugin.
-
What does it take to support Node.js ESM?
The only workaround to have an isomorphic __dirname or __filename to be used for both "cjs" and "esm" without using build-time tools like @rollup/plugin-replace or esbuild "define" would be using a library like filedirname that does a trick inspecting error stacks, it's clearly not the cleanest solution.
-
How to Build a To-do app with Svelte, Strapi & Tailwind CSS
import svelte from 'rollup-plugin-svelte'; import commonjs from '@rollup/plugin-commonjs'; import resolve from '@rollup/plugin-node-resolve'; import livereload from 'rollup-plugin-livereload'; import { terser } from 'rollup-plugin-terser'; import css from 'rollup-plugin-css-only'; import sveltePreprocess from 'svelte-preprocess'; const production = !process.env.ROLLUP_WATCH; function serve() { let server; function toExit() { if (server) server.kill(0); } return { writeBundle() { if (server) return; server = require('child_process').spawn( 'npm', ['run', 'start', '--', '--dev'], { stdio: ['ignore', 'inherit', 'inherit'], shell: true, } ); process.on('SIGTERM', toExit); process.on('exit', toExit); }, }; } export default { input: 'src/main.js', output: { sourcemap: true, format: 'iife', name: 'app', file: 'public/build/bundle.js', }, plugins: [ svelte({ preprocess: sveltePreprocess({ sourceMap: !production, postcss: { plugins: [require('tailwindcss'), require('autoprefixer')], }, }), compilerOptions: { // enable run-time checks when not in production dev: !production, }, }), // we'll extract any component CSS out into // a separate file - better for performance css({ output: 'bundle.css' }), // If you have external dependencies installed from // npm, you'll most likely need these plugins. In // some cases you'll need additional configuration - // consult the documentation for details: // https://github.com/rollup/plugins/tree/master/packages/commonjs resolve({ browser: true, dedupe: ['svelte'], }), commonjs(), // In dev mode, call `npm run start` once // the bundle has been generated !production && serve(), // Watch the `public` directory and refresh the // browser on changes when not in production !production && livereload('public'), // If we're building for production (npm run build // instead of npm run dev), minify production && terser(), ], watch: { clearScreen: false, }, };
What are some alternatives?
autoprefixer - Parse CSS and add vendor prefixes to rules by Can I Use
awesome-vite - ⚡️ A curated list of awesome things related to Vite.js
Less - Leaner CSS, in your browser or Ruby (via less.js).
tsup - The simplest and fastest way to bundle your TypeScript libraries.
browserslist - 🦔 Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-preset-env
rollup-plugin-typescript2 - Rollup plugin for typescript with compiler errors.
rollup-plugin-terser - Rollup plugin to minify generated bundle
vue3-component-library - This is a template for building vue components library.Project makes use of vue3.0 with rollup configuration to build treeshakable imports and Postcss for compilation of css
ts-jest - A Jest transformer with source map support that lets you use Jest to test projects written in TypeScript.
shopify-bare - Shopify starter theme that provides Javascript modules(ES6 and node_modules), tree-shaking, Live Reloading/ Hot module reloading, Tailwind Css w\ nesting & imports purges unused CSS, minify your built files, compress your images, and use quick commands to develop easier.
bob-esbuild - Building and Running TypeScript projects efficiently with rollup + esbuild