const css = require('./'); const fs = require('fs'); if (process.argv[process.argv.length - 1] !== __filename) { let opts = { filename: process.argv[process.argv.length - 1], code: fs.readFileSync(process.argv[process.argv.length - 1]), minify: true, sourceMap: true, targets: { chrome: 95 << 16 } }; console.time('optimize'); let r = css.transform(opts); console.timeEnd('optimize') // console.log(r.toString()); console.log(r); let code = r.code; if (r.map) { code = code.toString() + `\n/*# sourceMappingURL=out.css.map */\n`; } fs.writeFileSync('out.css', code); if (r.map) { fs.writeFileSync('out.css.map', r.map); } return; } let res = css.transform({ filename: __filename, minify: true, sourceMap: true, targets: { safari: 4 << 16, firefox: 3 << 16 | 5 << 8, opera: 10 << 16 | 5 << 8 }, code: Buffer.from(`.imported { content: "yay, file support!"; } .selector { margin: 1em; background-color: #f60; } .selector .nested { margin: 0.5em; } `), inputSourceMap: JSON.stringify({ "version": 3, "sourceRoot": "root", "file": "stdout", "sources": [ "stdin", "sass/_variables.scss", "sass/_demo.scss" ], "sourcesContent": [ "@import \"_variables\";\n@import \"_demo\";\n\n.selector {\n margin: $size;\n background-color: $brandColor;\n\n .nested {\n margin: $size / 2;\n }\n}", "$brandColor: #f60;\n$size: 1em;", ".imported {\n content: \"yay, file support!\";\n}" ], "mappings": "AEAA,SAAS,CAAC;EACR,OAAO,EAAE,oBAAqB;CAC/B;;AFCD,SAAS,CAAC;EACR,MAAM,ECHD,GAAG;EDIR,gBAAgB,ECLL,IAAI;CDUhB;;AAPD,SAAS,CAIP,OAAO,CAAC;EACN,MAAM,ECPH,KAAG;CDQP", "names": [] }), }); console.log(res.code.toString()); console.log(res.map.toString())