repo_description: An extremely fast CSS parser, transformer, bundler, and minifier written in Rust.
repo_topics: build-tool compiler css minifier parser rust
code: const css = require('./');
  const cssnano = require('cssnano');
  const postcss = require('postcss');
  const esbuild = require('esbuild');
  
  let opts = {
    filename: process.argv[process.argv.length - 1],
    code: require('fs').readFileSync(process.argv[process.argv.length - 1]),
    minify: true,
    // source_map: true,
    targets: {
      chrome: 95 << 16
    }
  };
  
  async function run() {
    await doCssNano();
  
    console.time('esbuild');
    let r = await esbuild.transform(opts.code.toString(), {
      sourcefile: opts.filename,
      loader: 'css',
      minify: true
    });
    console.timeEnd('esbuild');
    console.log(r.code.length + ' bytes');
    console.log('');
  
    console.time('lightningcss');
    let res = css.transform(opts);
    console.timeEnd('lightningcss');
    console.log(res.code.length + ' bytes');
  }
  
  async function doCssNano() {
    console.time('cssnano');
    const result = await postcss([
      cssnano,
    ]).process(opts.code, {from: opts.filename});
    console.timeEnd('cssnano');
    console.log(result.css.length + ' bytes');
    console.log('');
  }
  
  run();
  