{"_id":"@blakedarlin/gulp-sass","_rev":"6-99524c78ec30550b0e1fe11b67c28aa0","name":"@blakedarlin/gulp-sass","dist-tags":{"latest":"1.1.3"},"versions":{"1.0.0":{"name":"@blakedarlin/gulp-sass","version":"1.0.0","keywords":["sass","sass-embedded","gulpplugin","gulp"],"author":{"url":"https://blakedarlin.com","name":"Blake Darlin","email":"hello@blakedarlin.com"},"license":"MIT","_id":"@blakedarlin/gulp-sass@1.0.0","maintainers":[{"name":"blakedarlin","email":"hello@blakedarlin.com"}],"homepage":"https://github.com/blakedarlin/gulp-sass#readme","bugs":{"url":"https://github.com/blakedarlin/gulp-sass/issues"},"dist":{"shasum":"5decdc6b5105b30fa5fa15b6f37ce7bc4bc8e73b","tarball":"https://registry.npmjs.org/@blakedarlin/gulp-sass/-/gulp-sass-1.0.0.tgz","fileCount":4,"integrity":"sha512-psyTOpRdMhrt9NnTJz4AfBm+gLhl1UgsOzR9colyePUvDrwLSSLIzUxyvbZgthV+ZwTLLXSBAawseHrDdGS2dw==","signatures":[{"sig":"MEQCIDTg1QfaZLj6ENFC8iwyIhnimMh0ybrsklXcPbCqNduaAiBoDeiNY5ki8P3brmZzrs2U7vxAqzXdIAPE33aQ2tndFg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12387},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"0b30f18d811bee1574fc4bfaa3e196da8d34cf11","scripts":{"test":"jest"},"_npmUser":{"name":"blakedarlin","email":"hello@blakedarlin.com"},"repository":{"url":"git+https://github.com/blakedarlin/gulp-sass.git","type":"git"},"_npmVersion":"10.8.2","description":"Gulp plugin for sass/sass-embedded","directories":{},"_nodeVersion":"20.17.0","dependencies":{"streamx":"^2.20.1","replace-ext":"^2.0.0","plugin-error":"^2.0.1","sass-embedded":"^1.79.3","vinyl-sourcemaps-apply":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@4.4.1","devDependencies":{"gulp":"^5.0.0","jest":"^29.7.0","vinyl":"^3.0.0","eslint":"^9.11.1","globals":"^15.9.0","prettier":"^3.3.3","@swc/core":"^1.7.26","@swc/jest":"^0.2.36","@eslint/js":"^9.11.1","eslint-plugin-jest":"^28.8.3","eslint-plugin-unicorn":"^55.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-import-x":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/gulp-sass_1.0.0_1727641272947_0.9414941256776301","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@blakedarlin/gulp-sass","version":"1.0.1","keywords":["sass","sass-embedded","gulpplugin","gulp"],"author":{"url":"https://blakedarlin.com","name":"Blake Darlin","email":"hello@blakedarlin.com"},"license":"MIT","_id":"@blakedarlin/gulp-sass@1.0.1","maintainers":[{"name":"blakedarlin","email":"hello@blakedarlin.com"}],"homepage":"https://github.com/blakedarlin/gulp-sass#readme","bugs":{"url":"https://github.com/blakedarlin/gulp-sass/issues"},"dist":{"shasum":"228ced399d84db8c9afe35e4a6221c1b1a8412c7","tarball":"https://registry.npmjs.org/@blakedarlin/gulp-sass/-/gulp-sass-1.0.1.tgz","fileCount":4,"integrity":"sha512-3e+W4LVXE6uQj+LsFcT1PpdY+uRjNTPCWEHVTw4qiubaQHozx6uWonNQzyDBK1YHxl0YvzjtzItLQd73xrsoXw==","signatures":[{"sig":"MEUCIH+EJ6XLPSBHLp1G4y781rcbxXQjl+FZSiiYufofJCbMAiEA+pwNxe3eiIHX1UfdvbxVqAl2iDzTUUZczrlHkdmx2Jk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":11813},"main":"index.js","type":"module","engines":{"node":">=18"},"gitHead":"7fb4a8226ea6fc069fc738c7f47f3b5a9eafbd3c","scripts":{"test":"jest"},"_npmUser":{"name":"blakedarlin","email":"hello@blakedarlin.com"},"repository":{"url":"git+https://github.com/blakedarlin/gulp-sass.git","type":"git"},"_npmVersion":"10.8.2","description":"Gulp plugin for sass/sass-embedded","directories":{},"_nodeVersion":"20.17.0","dependencies":{"streamx":"^2.20.1","replace-ext":"^2.0.0","plugin-error":"^2.0.1","sass-embedded":"^1.79.3","vinyl-sourcemaps-apply":"^0.2.1"},"_hasShrinkwrap":false,"packageManager":"yarn@4.4.1","devDependencies":{"gulp":"^5.0.0","jest":"^29.7.0","vinyl":"^3.0.0","eslint":"^9.11.1","globals":"^15.9.0","prettier":"^3.3.3","@swc/core":"^1.7.26","@swc/jest":"^0.2.36","@eslint/js":"^9.11.1","eslint-plugin-jest":"^28.8.3","eslint-plugin-unicorn":"^55.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-import-x":"^4.3.0"},"_npmOperationalInternal":{"tmp":"tmp/gulp-sass_1.0.1_1727641663503_0.846048245508292","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@blakedarlin/gulp-sass","version":"1.1.0","keywords":["sass","sass-embedded","gulpplugin","gulp"],"author":{"url":"https://blakedarlin.com","name":"Blake Darlin","email":"hello@blakedarlin.com"},"license":"MIT","_id":"@blakedarlin/gulp-sass@1.1.0","maintainers":[{"name":"blakedarlin","email":"hello@blakedarlin.com"}],"homepage":"https://github.com/blakedarlin/gulp-sass#readme","bugs":{"url":"https://github.com/blakedarlin/gulp-sass/issues"},"dist":{"shasum":"040f20e1a6d1187867b16804bed3a259d9e6cacd","tarball":"https://registry.npmjs.org/@blakedarlin/gulp-sass/-/gulp-sass-1.1.0.tgz","fileCount":4,"integrity":"sha512-NMIFBhjYamVqwrOr57JbsRvvu5IRCChw6bVRoTZUpZOZ5eZ+HtLwWc/jUwnzZvX5Gw0RjyUdeADLwZw9s1Aneg==","signatures":[{"sig":"MEUCIC23J6ZDLJzGq+/bdR80zD1IodCI8Id94z1KdJYT9M1vAiEAgOeKegJlhImIe0ocda9X5aDaeYVTI597jl4C3Q51IUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11949},"main":"index.js","type":"module","engines":{"node":">=22"},"gitHead":"242c4fc7067f46c24b11388688e3246ffe3142f5","scripts":{"test":"jest"},"_npmUser":{"name":"blakedarlin","email":"hello@blakedarlin.com"},"repository":{"url":"git+https://github.com/blakedarlin/gulp-sass.git","type":"git"},"_npmVersion":"11.7.0","description":"Gulp plugin for sass/sass-embedded","directories":{},"_nodeVersion":"25.4.0","dependencies":{"streamx":"^2.23.0","replace-ext":"^2.0.0","plugin-error":"^2.0.1","sass-embedded":"^1.90.0","vinyl-sourcemaps-apply":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^5.0.1","jest":"^30.2.0","vinyl":"^3.0.1","eslint":"^9.39.2","globals":"^17.1.0","prettier":"^3.8.1","@swc/core":"^1.15.10","@swc/jest":"^0.2.39","@eslint/js":"^9.39.2","eslint-plugin-jest":"^29.12.1","eslint-plugin-unicorn":"^62.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.1"},"_npmOperationalInternal":{"tmp":"tmp/gulp-sass_1.1.0_1769440424252_0.4561954509380721","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@blakedarlin/gulp-sass","version":"1.1.1","keywords":["sass","sass-embedded","gulpplugin","gulp"],"author":{"url":"https://blakedarlin.com","name":"Blake Darlin","email":"hello@blakedarlin.com"},"license":"MIT","_id":"@blakedarlin/gulp-sass@1.1.1","maintainers":[{"name":"blakedarlin","email":"hello@blakedarlin.com"}],"homepage":"https://github.com/blakedarlin/gulp-sass#readme","bugs":{"url":"https://github.com/blakedarlin/gulp-sass/issues"},"dist":{"shasum":"0dc105a0e035deb5e94cb45267a1553bab2bd477","tarball":"https://registry.npmjs.org/@blakedarlin/gulp-sass/-/gulp-sass-1.1.1.tgz","fileCount":4,"integrity":"sha512-SmYcdL2ox3LSFDo6/WXBc/sFwIgy9r16AMaC8kvG5BLkBhOLrCvR4y0SY45wj6iTLVhfKjsYZIzorlMBYQ52qg==","signatures":[{"sig":"MEQCIGYIhiEe6P7bfIA8HDM4w14nKRwT8ZpyOJkLrzdvsgT/AiAHR1TPWEBFLUw5/O9DyTr7L3vNP+ytSAMGQLq389IfnQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11949},"main":"index.js","type":"module","engines":{"node":">=22"},"gitHead":"dea6134a9bd8a372ba79fe028d73c549bf66dd06","scripts":{"test":"jest"},"_npmUser":{"name":"blakedarlin","email":"hello@blakedarlin.com"},"repository":{"url":"git+https://github.com/blakedarlin/gulp-sass.git","type":"git"},"_npmVersion":"11.11.0","description":"Gulp plugin for sass/sass-embedded","directories":{},"_nodeVersion":"25.8.1","dependencies":{"streamx":"^2.23.0","replace-ext":"^2.0.0","plugin-error":"^2.0.1","sass-embedded":"^1.90.0","vinyl-sourcemaps-apply":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^5.0.1","jest":"^30.2.0","vinyl":"^3.0.1","eslint":"^9.39.2","globals":"^17.1.0","prettier":"^3.8.1","@swc/core":"^1.15.10","@swc/jest":"^0.2.39","@eslint/js":"^9.39.2","eslint-plugin-jest":"^29.12.1","eslint-plugin-unicorn":"^62.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.1"},"_npmOperationalInternal":{"tmp":"tmp/gulp-sass_1.1.1_1773415575690_0.6096430432600428","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@blakedarlin/gulp-sass","version":"1.1.2","keywords":["sass","sass-embedded","gulpplugin","gulp"],"author":{"url":"https://blakedarlin.com","name":"Blake Darlin","email":"hello@blakedarlin.com"},"license":"MIT","_id":"@blakedarlin/gulp-sass@1.1.2","maintainers":[{"name":"blakedarlin","email":"hello@blakedarlin.com"}],"homepage":"https://github.com/blakedarlin/gulp-sass#readme","bugs":{"url":"https://github.com/blakedarlin/gulp-sass/issues"},"dist":{"shasum":"4665b6f00e98ca492b6f3c9c3148d405e1c9f1d1","tarball":"https://registry.npmjs.org/@blakedarlin/gulp-sass/-/gulp-sass-1.1.2.tgz","fileCount":4,"integrity":"sha512-2MJXeY0sK3MvHGIgPEUagzghwGIMEm8jZzSex7cImUw0Xfq6mvrXnAgCxs9ZwUOuzpt/OOTQ3E86x6QQHTBxeA==","signatures":[{"sig":"MEUCIQCwJ71igcDyHiL3GX0pkpRqFlzccRp9MmTNqcUWyAMToAIgTVIt2DBZQGrReehm3OioWesDJiUagfandmnKZyQWLW8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11949},"main":"index.js","type":"module","engines":{"node":">=22"},"gitHead":"a133cbf6f0e1aa3108b94d2dcc9070f90caf961b","scripts":{"test":"jest"},"_npmUser":{"name":"blakedarlin","email":"hello@blakedarlin.com"},"repository":{"url":"git+https://github.com/blakedarlin/gulp-sass.git","type":"git"},"_npmVersion":"11.12.1","description":"Gulp plugin for sass/sass-embedded","directories":{},"_nodeVersion":"25.9.0","dependencies":{"streamx":"^2.23.0","replace-ext":"^2.0.0","plugin-error":"^2.0.1","sass-embedded":"^1.90.0","vinyl-sourcemaps-apply":"^0.2.1"},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^5.0.1","jest":"^30.2.0","vinyl":"^3.0.1","eslint":"^9.39.2","globals":"^17.1.0","prettier":"^3.8.1","@swc/core":"^1.15.10","@swc/jest":"^0.2.39","@eslint/js":"^9.39.2","eslint-plugin-jest":"^29.12.1","eslint-plugin-unicorn":"^62.0.0","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.16.1"},"_npmOperationalInternal":{"tmp":"tmp/gulp-sass_1.1.2_1776866623811_0.3830333329650697","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@blakedarlin/gulp-sass","version":"1.1.3","description":"Gulp plugin for sass/sass-embedded","type":"module","main":"index.js","engines":{"node":">=22"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/blakedarlin/gulp-sass.git"},"keywords":["sass","sass-embedded","gulpplugin","gulp"],"author":{"name":"Blake Darlin","email":"hello@blakedarlin.com","url":"https://blakedarlin.com"},"homepage":"https://github.com/blakedarlin/gulp-sass#readme","scripts":{"test":"jest"},"dependencies":{"plugin-error":"^2.0.1","replace-ext":"^2.0.0","streamx":"^2.28.0","sass-embedded":"^1.100.0","vinyl-sourcemaps-apply":"^0.2.1"},"devDependencies":{"@eslint/js":"^10.0.1","@swc/core":"^1.15.47","@swc/jest":"^0.2.39","eslint":"^10.8.1","eslint-config-prettier":"^10.1.8","eslint-plugin-import-x":"^4.17.1","eslint-plugin-jest":"^29.16.0","eslint-plugin-unicorn":"^73.0.0","globals":"^17.9.0","gulp":"^5.0.1","jest":"^30.4.2","prettier":"^3.9.6","vinyl":"^3.0.1"},"gitHead":"53956aeb9b1cc1930d0ad9fb044681b24f4d74cf","_id":"@blakedarlin/gulp-sass@1.1.3","bugs":{"url":"https://github.com/blakedarlin/gulp-sass/issues"},"_nodeVersion":"26.5.0","_npmVersion":"11.17.0","dist":{"integrity":"sha512-0oYh+yXrosCIw4nd2QJ2yDCzCKkAp1jkK/1BdL5LhsSSlAMAyr26lmFsstVOjuFZgfKo8jGgtolBZnXbLApPjQ==","shasum":"767113df840e3098a2477c34d908cce63fc42c72","tarball":"https://registry.npmjs.org/@blakedarlin/gulp-sass/-/gulp-sass-1.1.3.tgz","fileCount":4,"unpackedSize":11941,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICFNUGZAsPAxuPFLzuQAoAxNXof1JdV7yG2HHL4S70drAiBe/Og6NJ+lnzzv5wy0+5oV1yQadBm7SkX/qO1GgbFL+w=="}]},"_npmUser":{"name":"blakedarlin","email":"hello@blakedarlin.com"},"directories":{},"maintainers":[{"name":"blakedarlin","email":"hello@blakedarlin.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gulp-sass_1.1.3_1786474763778_0.9767526585429964"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-29T20:21:12.840Z","modified":"2026-08-11T18:59:24.084Z","1.0.0":"2024-09-29T20:21:13.168Z","1.0.1":"2024-09-29T20:27:43.691Z","1.1.0":"2026-01-26T15:13:44.389Z","1.1.1":"2026-03-13T15:26:15.835Z","1.1.2":"2026-04-22T14:03:43.940Z","1.1.3":"2026-08-11T18:59:23.916Z"},"bugs":{"url":"https://github.com/blakedarlin/gulp-sass/issues"},"author":{"name":"Blake Darlin","email":"hello@blakedarlin.com","url":"https://blakedarlin.com"},"license":"MIT","homepage":"https://github.com/blakedarlin/gulp-sass#readme","keywords":["sass","sass-embedded","gulpplugin","gulp"],"repository":{"type":"git","url":"git+https://github.com/blakedarlin/gulp-sass.git"},"description":"Gulp plugin for sass/sass-embedded","maintainers":[{"name":"blakedarlin","email":"hello@blakedarlin.com"}],"readme":"# gulp-sass\n\nGulp plugin for the [sass-embedded](https://github.com/sass/embedded-host-node) package. Compiles files with `sass-embedded`, without the need for an external compiler. Performance is about 3x better than the original `gulp-sass` using the Dart Sass compiler, since the instance can persist between compilations:\n\n> When calling the compile functions multiple times, using a compiler instance with the sass-embedded npm package is much faster than using the top-level compilation methods or the sass npm package.\n\n[Source: Sass Documentation](https://sass-lang.com/documentation/js-api/functions/initcompiler/)\n\n## Installation\n\n```sh\nnpm install @blakedarlin/gulp-sass --save-dev\n```\n\n## Usage\n\n```javascript\nconst gulp = require('gulp');\nconst sass = require('@blakedarlin/gulp-sass');\n\nfunction buildStyles() {\n\treturn gulp.src('./sass/**/*.scss').pipe(sass()).pipe(gulp.dest('./css'));\n}\n\nexports.buildStyles = buildStyles;\nexports.watch = function () {\n\tgulp.watch('./sass/**/*.scss', ['buildStyles']);\n};\n```\n\n### Using `pipeline()` and ES6\n\nThe following example uses Node's stream pipeline, as well as Gulp's built-in [sourcemaps](https://gulpjs.com/docs/en/api/dest/#sourcemaps) support.\n\n```javascript\nimport gulp from 'gulp';\nimport sass from 'gulp-sass';\nimport { pipeline } from 'node:stream/promises';\n\nexport const buildStyles = async (callback) =>\n\tawait pipeline(\n\t\tgulp.src('./sass/**/*.scss', {\n\t\t\tallowEmpty: true,\n\t\t\tsourcemaps: true,\n\t\t}),\n\t\tsass(),\n\t\tgulp.dest('./css', {\n\t\t\tsourcemaps: true,\n\t\t}),\n\t).catch((error) => callback(error));\n\nconst watch = gulp.watch('./sass/**/*.scss', { delay: 500 }, buildStyles);\nexport default watch;\n```\n\nFor synchronous compiling, use:\n\n```javascript\n\t\tsass.sync(),\n```\n\n### Passing options to Sass\n\n```javascript\nloadPaths?: string[]\nimporters?: (NodePackageImporter | Importer<sync> | FileImporter<sync>)[]\nfunctions?: Record<string, CustomFunction<sync>>\n```\n\nPassing options to the Gulp Sass plugin will pass them in turn to the Sass compiler. Refer to the [Sass compiler options](https://sass-lang.com/documentation/js-api/interfaces/options/) for more information. To cover a few in this context:\n\n#### [loadPaths](https://sass-lang.com/documentation/js-api/interfaces/options/#loadPaths)\n\nThe compiler accepts a `loadPaths` option, which is a string array of absolute paths. Each file's own parent is automatically added as its first `loadPaths` item, so there is no need to specify it.\n\n```javascript\nsass({\n\tloadPaths: ['/some/absolute/path', '/some/other/absolute/path'],\n});\n```\n\n#### [importers](https://sass-lang.com/documentation/js-api/interfaces/options/#importers)\n\nCustom importers that control how Sass resolves loads from rules like @use and @import. For example, sass-json-importer allows importing JSON records as Sass variables.\n\n```javascript\nimport jsonImporter from 'sass-json-importer';\n\n\t...\n\t\tsass({\n\t\t\timporters: [ jsonImporter() ],\n\t\t})\n\t...\n```\n\n#### [functions](https://sass-lang.com/documentation/js-api/interfaces/options/#functions)\n\nDefine additional built-in Sass functions that are available in all stylesheets. This option takes an object whose keys are Sass function signatures like you'd write for the `@function` rule. No longer is it necessary to use slow collections of Sass @functions or @mixins for basic functionality, such as `string.replace`.\n\nImport and provide your custom function to the Gulp Sass options.\n\n```javascript\n// gulpfile.js\nimport svgInline from './svg-inline.js';\n\t...\n\t\tsass({\n\t\t\tfunctions: {\n\t\t\t\t'svg-inline($filePath, $fill: null, $stroke: null)': svgInline,\n\t\t\t}\n\t\t})\n\t...\n```\n\nThe JavaScript function itself will use Sass's own variable types. Note that any file path will not be resolved using the `loadPaths` option passed to the Sass compiler. Your custom function will need to handle that resolution.\n\n```javascript\n// svg-inline.js\nimport { SassString, sassNull } from 'sass-embedded';\n\nconst svgInline = (arguments_) => {\n\tconst filePath = arguments_[0].assertString('path').text;\n\tconst fill = arguments_[1] ?? sassNull;\n\tconst stroke = arguments_[2] ?? sassNull;\n\n\tif (filePath && !filePath.toLowerCase().endsWith('.svg')) {\n\t\tthrow new Error(\n\t\t\t'Invalid SVG file path provided. Ensure the file path ends with .svg extension.',\n\t\t);\n\t}\n\t// ... import and process the SVG file ...\n\treturn new SassString(\n\t\t`url(\"data:image/svg+xml;charset=utf-8,${encodedSvgContent}\")`,\n\t\t{ quotes: false },\n\t);\n};\nexport default svgInline;\n```\n\n```scss\n@use 'abstracts/form-image' as image;\n\n// Use Sass variables to recolor the fill and stroke. (These can't be CSS custom properties, though.)\n.button > i {\n\tbackground-image: svg-inline(\n\t\t'feather-icons/dist/icons/arrow-right.svg',\n\t\t$stroke: $icon-hover-color\n\t);\n}\n\n// When using a custom function for the value of a CSS custom property, wrap it in #{...}.\n.accordion {\n\t--icon: #{svg-inline('feather-icons/dist/icons/plus.svg')};\n\t--close-icon: #{svg-inline('feather-icons/dist/icons/minus.svg')};\n}\n\n// Using a namespaced Sass variable.\n[type='checkbox']:checked {\n\tmask-image: svg-inline(image.$checkbox-image__checked);\n}\n```\n","readmeFilename":"README.md"}