Added Gulp.js for compiling SCSS stylesheets
This commit is contained in:
168
node_modules/gulp-sass/CHANGELOG.md
generated
vendored
Normal file
168
node_modules/gulp-sass/CHANGELOG.md
generated
vendored
Normal file
@ -0,0 +1,168 @@
|
||||
# gulp-sass Changelog
|
||||
|
||||
## v5.0.0
|
||||
|
||||
**June 25, 2021**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v5.0.0>
|
||||
|
||||
## v4.1.1
|
||||
|
||||
**June 24, 2021**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v4.1.1>
|
||||
|
||||
## v4.1.0
|
||||
|
||||
**April 23, 2020**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v4.1.0>
|
||||
|
||||
## v4.0.2
|
||||
|
||||
**October 16, 2018**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v4.0.2>
|
||||
|
||||
## v4.0.1
|
||||
|
||||
**Apr 8, 2018**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v4.0.1>
|
||||
|
||||
## v4.0.0
|
||||
|
||||
**April 5, 2018**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v4.0.0>
|
||||
|
||||
## v3.2.1
|
||||
|
||||
**March 24, 2018**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v3.2.1>
|
||||
|
||||
## v3.2.0
|
||||
|
||||
**March 12, 2018**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v3.2.0>
|
||||
|
||||
## v3.1.0
|
||||
|
||||
**January 9, 2017**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v3.1.0>
|
||||
|
||||
## v3.0.0
|
||||
|
||||
**January 9, 2017**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v3.0.0>
|
||||
|
||||
## v2.3.2
|
||||
|
||||
**June 15, 2016**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v2.3.2>
|
||||
|
||||
## v2.3.1
|
||||
|
||||
**April 22, 2016**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v2.3.1>
|
||||
|
||||
## v2.3.0
|
||||
|
||||
**April 21, 2016**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v2.3.0>
|
||||
|
||||
## v2.3.0-beta.1
|
||||
|
||||
**February 4, 2016**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v2.3.0-beta.1>
|
||||
|
||||
## v2.2.0
|
||||
|
||||
**February 4, 2016**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v2.2.0>
|
||||
|
||||
## v2.1.0
|
||||
|
||||
**November 2, 2015**
|
||||
|
||||
<https://github.com/dlmanning/gulp-sass/releases/tag/v2.1.0>
|
||||
|
||||
## v2.1.0-beta
|
||||
|
||||
**September 21, 2015**
|
||||
|
||||
* **Change** Updated to `node-sass` 3.4.0-beta1
|
||||
|
||||
## v2.0.4
|
||||
|
||||
**July 15, 2015**
|
||||
|
||||
* **Fix** Relative file path now uses `file.relative` instead of arcane `split('/').pop` magic. Resolves lots of issues with source map paths.
|
||||
* **Fix** Empty partials no longer copied to CSS folder
|
||||
|
||||
## v2.0.3
|
||||
|
||||
**June 27, 2015**
|
||||
|
||||
* **Fix** Empty partials are no longer copied to CSS folder
|
||||
|
||||
## v2.0.2
|
||||
|
||||
**June 25, 2015**
|
||||
|
||||
* **Fix** Error in watch stream preventing watch from continuing
|
||||
|
||||
## v2.0.1
|
||||
|
||||
**May 13, 2015**
|
||||
|
||||
* **Fix** Source maps now work as expected with Autoprefixer
|
||||
* **Fix** Current file directory `unshift` onto includePaths stack so it's checked first
|
||||
* **Fix** Error message returned is unformatted so as to not break other error handling (*i.e.* `gulp-notify`)
|
||||
|
||||
## v2.0.0
|
||||
|
||||
**May 6, 2015**
|
||||
|
||||
* **Change** Updated to `node-sass` 3.0.0
|
||||
|
||||
## v2.0.0-alpha.1
|
||||
|
||||
**March 26, 2015**
|
||||
|
||||
* **New** Added `renderSync` option that can be used through `sass.sync()`
|
||||
|
||||
### March 24, 2015
|
||||
|
||||
* **Change** Updated to `node-sass` 3.0.0-alpha.1
|
||||
* **New** Added support for `gulp-sourcemaps` including tests
|
||||
* **New** Added `.editorconfig` for development consistency
|
||||
* **New** Added linting and test for said linting
|
||||
* **Change** Updated the README
|
||||
* **New** `logError` function to make streaming errors possible instead of breaking the stream
|
||||
|
||||
### 1.3.3
|
||||
|
||||
* updated to `node-sass` 2.0 (final)
|
||||
* should now work with Node.js 0.12 and io.js
|
||||
|
||||
### 1.3.2
|
||||
|
||||
* fixed `errLogToConsole`
|
||||
|
||||
### 1.3.1
|
||||
|
||||
* bug fix
|
||||
|
||||
## Version 1.3.0
|
||||
|
||||
* Supports `node-sass` 2.0 (thanks laurelnaiad!)
|
20
node_modules/gulp-sass/LICENSE
generated
vendored
Normal file
20
node_modules/gulp-sass/LICENSE
generated
vendored
Normal file
@ -0,0 +1,20 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013 David Manning
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
196
node_modules/gulp-sass/README.md
generated
vendored
Normal file
196
node_modules/gulp-sass/README.md
generated
vendored
Normal file
@ -0,0 +1,196 @@
|
||||
# gulp-sass  [](https://github.com/dlmanning/gulp-sass/actions?query=workflow%3ACI+branch%3Amaster) [](https://gitter.im/dlmanning/gulp-sass) 
|
||||
|
||||
Sass plugin for [Gulp](https://github.com/gulpjs/gulp).
|
||||
|
||||
**_Before filing an issue, please make sure you have [updated to the latest version of `gulp-sass`](https://github.com/dlmanning/gulp-sass/wiki/Update-to-the-latest-Gulp-Sass) and have gone through our [Common Issues and Their Fixes](https://github.com/dlmanning/gulp-sass/wiki/Common-Issues-and-Their-Fixes) section._**
|
||||
|
||||
**Migrating your existing project to version 5? Please read our (short!) [migration guide](#migrating-to-version-5).**
|
||||
|
||||
## Support
|
||||
|
||||
Only [Active LTS and Current releases](https://github.com/nodejs/Release#release-schedule) are supported.
|
||||
|
||||
## Installation
|
||||
|
||||
To use `gulp-sass`, you must install both `gulp-sass` itself *and* a Sass compiler. `gulp-sass` supports both [Dart Sass][] and [Node Sass][], although Node Sass is [deprecated](https://sass-lang.com/blog/libsass-is-deprecated). We recommend that you use Dart Sass for new projects, and migrate Node Sass projects to Dart Sass when possible.
|
||||
|
||||
Whichever compiler you choose, it's best to install these as dev dependencies:
|
||||
|
||||
```sh
|
||||
npm install sass gulp-sass --save-dev
|
||||
```
|
||||
|
||||
### Importing it into your project
|
||||
|
||||
`gulp-sass` must be imported into your gulpfile, where you provide it the compiler of your choice. To use `gulp-sass` in a CommonJS module (which is most Node.js environments), do something like this:
|
||||
|
||||
```js
|
||||
const sass = require('gulp-sass')(require('sass'));
|
||||
```
|
||||
|
||||
To use `gulp-sass` in an ECMAScript module (which is supported in newer Node.js 14 and later), do something like this:
|
||||
|
||||
```js
|
||||
import dartSass from 'sass';
|
||||
import gulpSass from 'gulp-sass';
|
||||
const sass = gulpSass(dartSass);
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
**Note:** These examples are written for CommonJS modules and assume you're using Gulp 4. For examples that work with Gulp 3, [check the docs for an earlier version of `gulp-sass`](https://github.com/dlmanning/gulp-sass/tree/v4.1.1).
|
||||
|
||||
`gulp-sass` must be used in a Gulp task. Your task can call `sass()` (to asynchronously render your CSS), or `sass.sync()` (to synchronously render your CSS). Then, export your task with the `export` keyword. We'll show some examples of how to do that.
|
||||
|
||||
**⚠️ Note:** When using Dart Sass, **synchronous rendering is twice as fast as asynchronous rendering**. The Sass team is exploring ways to improve asynchronous rendering with Dart Sass, but for now, you will get the best performance from `sass.sync()`. If performance is critical, you can use `node-sass` instead, but bear in mind that `node-sass` may not support modern Sass features you rely on.
|
||||
|
||||
### Render your CSS
|
||||
|
||||
To render your CSS with a build task, then watch your files for changes, you might write something like this:
|
||||
|
||||
```js
|
||||
'use strict';
|
||||
|
||||
const gulp = require('gulp');
|
||||
const sass = require('gulp-sass')(require('sass'));
|
||||
|
||||
function buildStyles() {
|
||||
return gulp.src('./sass/**/*.scss')
|
||||
.pipe(sass().on('error', sass.logError))
|
||||
.pipe(gulp.dest('./css'));
|
||||
};
|
||||
|
||||
exports.buildStyles = buildStyles;
|
||||
exports.watch = function () {
|
||||
gulp.watch('./sass/**/*.scss', ['sass']);
|
||||
};
|
||||
```
|
||||
|
||||
With synchronous rendering, that Gulp task looks like this:
|
||||
|
||||
```js
|
||||
function buildStyles() {
|
||||
return gulp.src('./sass/**/*.scss')
|
||||
.pipe(sass.sync().on('error', sass.logError))
|
||||
.pipe(gulp.dest('./css'));
|
||||
};
|
||||
```
|
||||
|
||||
### Render with options
|
||||
|
||||
To change the final output of your CSS, you can pass an options object to your renderer. `gulp-sass` supports [Node Sass's render options](https://github.com/sass/node-sass#options), with two unsupported exceptions:
|
||||
|
||||
- The `data` option, which is used by `gulp-sass` internally.
|
||||
- The `file` option, which has undefined behavior that may change without notice.
|
||||
|
||||
For example, to compress your CSS, you can call `sass({outputStyle: 'compressed'}`. In the context of a Gulp task, that looks like this:
|
||||
|
||||
```js
|
||||
function buildStyles() {
|
||||
return gulp.src('./sass/**/*.scss')
|
||||
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
|
||||
.pipe(gulp.dest('./css'));
|
||||
};
|
||||
|
||||
exports.buildStyles = buildStyles;
|
||||
```
|
||||
|
||||
Or this for synchronous rendering:
|
||||
|
||||
```js
|
||||
function buildStyles() {
|
||||
return gulp.src('./sass/**/*.scss')
|
||||
.pipe(sass.sync({outputStyle: 'compressed'}).on('error', sass.logError))
|
||||
.pipe(gulp.dest('./css'));
|
||||
};
|
||||
|
||||
exports.buildStyles = buildStyles;
|
||||
```
|
||||
|
||||
### Include a source map
|
||||
|
||||
`gulp-sass` can be used in tandem with [`gulp-sourcemaps`](https://github.com/gulp-sourcemaps/gulp-sourcemaps) to generate source maps for the Sass-to-CSS compilation. You will need to initialize `gulp-sourcemaps` _before_ running `gulp-sass`, and write the source maps after.
|
||||
|
||||
```js
|
||||
const sourcemaps = require('gulp-sourcemaps');
|
||||
|
||||
function buildStyles() {
|
||||
return gulp.src('./sass/**/*.scss')
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(sass().on('error', sass.logError))
|
||||
.pipe(sourcemaps.write())
|
||||
.pipe(gulp.dest('./css'));
|
||||
}
|
||||
|
||||
exports.buildStyles = buildStyles;
|
||||
```
|
||||
|
||||
By default, `gulp-sourcemaps` writes the source maps inline, in the compiled CSS files. To write them to a separate file, specify a path relative to the `gulp.dest()` destination in the `sourcemaps.write()` function.
|
||||
|
||||
```js
|
||||
const sourcemaps = require('gulp-sourcemaps');
|
||||
|
||||
function buildStyles() {
|
||||
return gulp.src('./sass/**/*.scss')
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(sass().on('error', sass.logError))
|
||||
.pipe(sourcemaps.write('./maps'))
|
||||
.pipe(gulp.dest('./css'));
|
||||
};
|
||||
|
||||
exports.buildStyles = buildStyles;
|
||||
```
|
||||
|
||||
<h2 id="migrating-to-version-5">Migrating to version 5</h2>
|
||||
|
||||
`gulp-sass` version 5 requires Node.js 12 or later, and introduces some breaking changes. Additionally, changes in Node.js itself mean that Node fibers can no longer be used to speed up Dart Sass in Node.js 16.
|
||||
|
||||
### Setting a Sass compiler
|
||||
|
||||
As of version 5, `gulp-sass` _does not include a default Sass compiler_, so you must install one (either `node-sass` or `sass`) along with `gulp-sass`.
|
||||
|
||||
```sh
|
||||
npm install sass gulp-sass --save-dev
|
||||
```
|
||||
|
||||
Then, you must explicitly set that compiler in your gulpfille. Instead of setting a `compiler` prop on the `gulp-sass` instance, you pass the compiler into a function call when instantiating `gulp-sass`.
|
||||
|
||||
These changes look something like this:
|
||||
|
||||
```diff
|
||||
- const sass = require('gulp-sass'));
|
||||
- const compiler = require('sass');
|
||||
- sass.compiler = compiler;
|
||||
+ const sass = require('gulp-sass')(require('sass'));
|
||||
```
|
||||
|
||||
If you're migrating an ECMAScript module, that'll look something like this:
|
||||
|
||||
```diff
|
||||
import dartSass from 'sass';
|
||||
- import sass from 'gulp-sass';
|
||||
- sass.compiler = dartSass;
|
||||
|
||||
import dartSass from 'sass';
|
||||
+ import gulpSass from 'gulp-sass';
|
||||
+ const sass = gulpSass(dartSass);
|
||||
```
|
||||
|
||||
### What about fibers?
|
||||
|
||||
We used to recommend Node fibers as a way to speed up asynchronous rendering with Dart Sass. Unfortunately, [Node fibers are discontinued](https://sass-lang.com/blog/node-fibers-discontinued) and will not work in Node.js 16. The Sass team is exploring its options for future performance improvements, but for now, you will get the best performance from `sass.sync()`.
|
||||
|
||||
## Issues
|
||||
|
||||
`gulp-sass` is a light-weight wrapper around either [Dart Sass][] or [Node Sass][] (which in turn is a Node.js binding for [LibSass][]. Because of this, the issue you're having likely isn't a `gulp-sass` issue, but an issue with one those projects or with [Sass][] as a whole.
|
||||
|
||||
If you have a feature request/question about how Sass works/concerns on how your Sass gets compiled/errors in your compiling, it's likely a Dart Sass or LibSass issue and you should file your issue with one of those projects.
|
||||
|
||||
If you're having problems with the options you're passing in, it's likely a Dart Sass or Node Sass issue and you should file your issue with one of those projects.
|
||||
|
||||
We may, in the course of resolving issues, direct you to one of these other projects. If we do so, please follow up by searching that project's issue queue (both open and closed) for your problem and, if it doesn't exist, filing an issue with them.
|
||||
|
||||
[Dart Sass]: https://sass-lang.com/dart-sass
|
||||
[LibSass]: https://sass-lang.com/libsass
|
||||
[Node Sass]: https://github.com/sass/node-sass
|
||||
[Sass]: https://sass-lang.com
|
193
node_modules/gulp-sass/index.js
generated
vendored
Normal file
193
node_modules/gulp-sass/index.js
generated
vendored
Normal file
@ -0,0 +1,193 @@
|
||||
'use strict';
|
||||
|
||||
const path = require('path');
|
||||
const { Transform } = require('stream');
|
||||
const picocolors = require('picocolors');
|
||||
const PluginError = require('plugin-error');
|
||||
const replaceExtension = require('replace-ext');
|
||||
const stripAnsi = require('strip-ansi');
|
||||
const clonedeep = require('lodash.clonedeep');
|
||||
const applySourceMap = require('vinyl-sourcemaps-apply');
|
||||
|
||||
const PLUGIN_NAME = 'gulp-sass';
|
||||
|
||||
const MISSING_COMPILER_MESSAGE = `
|
||||
gulp-sass no longer has a default Sass compiler; please set one yourself.
|
||||
Both the "sass" and "node-sass" packages are permitted.
|
||||
For example, in your gulpfile:
|
||||
|
||||
const sass = require('gulp-sass')(require('sass'));
|
||||
`;
|
||||
|
||||
const transfob = (transform) => new Transform({ transform, objectMode: true });
|
||||
|
||||
/**
|
||||
* Handles returning the file to the stream
|
||||
*/
|
||||
const filePush = (file, sassObject, callback) => {
|
||||
// Build Source Maps!
|
||||
if (sassObject.map) {
|
||||
// Transform map into JSON
|
||||
const sassMap = JSON.parse(sassObject.map.toString());
|
||||
// Grab the stdout and transform it into stdin
|
||||
const sassMapFile = sassMap.file.replace(/^stdout$/, 'stdin');
|
||||
// Grab the base filename that's being worked on
|
||||
const sassFileSrc = file.relative;
|
||||
// Grab the path portion of the file that's being worked on
|
||||
const sassFileSrcPath = path.dirname(sassFileSrc);
|
||||
|
||||
if (sassFileSrcPath) {
|
||||
const sourceFileIndex = sassMap.sources.indexOf(sassMapFile);
|
||||
// Prepend the path to all files in the sources array except the file that's being worked on
|
||||
sassMap.sources = sassMap.sources.map((source, index) => (
|
||||
index === sourceFileIndex
|
||||
? source
|
||||
: path.join(sassFileSrcPath, source)
|
||||
));
|
||||
}
|
||||
|
||||
// Remove 'stdin' from souces and replace with filenames!
|
||||
sassMap.sources = sassMap.sources.filter((src) => src !== 'stdin' && src);
|
||||
|
||||
// Replace the map file with the original filename (but new extension)
|
||||
sassMap.file = replaceExtension(sassFileSrc, '.css');
|
||||
// Apply the map
|
||||
applySourceMap(file, sassMap);
|
||||
}
|
||||
|
||||
file.contents = sassObject.css;
|
||||
file.path = replaceExtension(file.path, '.css');
|
||||
|
||||
if (file.stat) {
|
||||
file.stat.atime = file.stat.mtime = file.stat.ctime = new Date();
|
||||
}
|
||||
|
||||
callback(null, file);
|
||||
};
|
||||
|
||||
/**
|
||||
* Handles error message
|
||||
*/
|
||||
const handleError = (error, file, callback) => {
|
||||
const filePath = (error.file === 'stdin' ? file.path : error.file) || file.path;
|
||||
const relativePath = path.relative(process.cwd(), filePath);
|
||||
const message = `${picocolors.underline(relativePath)}\n${error.formatted}`;
|
||||
|
||||
error.messageFormatted = message;
|
||||
error.messageOriginal = error.message;
|
||||
error.message = stripAnsi(message);
|
||||
error.relativePath = relativePath;
|
||||
|
||||
return callback(new PluginError(PLUGIN_NAME, error));
|
||||
};
|
||||
|
||||
/**
|
||||
* Main Gulp Sass function
|
||||
*/
|
||||
|
||||
// eslint-disable-next-line arrow-body-style
|
||||
const gulpSass = (options, sync) => {
|
||||
return transfob((file, encoding, callback) => {
|
||||
if (file.isNull()) {
|
||||
callback(null, file);
|
||||
return;
|
||||
}
|
||||
|
||||
if (file.isStream()) {
|
||||
callback(new PluginError(PLUGIN_NAME, 'Streaming not supported'));
|
||||
return;
|
||||
}
|
||||
|
||||
if (path.basename(file.path).startsWith('_')) {
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!file.contents.length) {
|
||||
file.path = replaceExtension(file.path, '.css');
|
||||
callback(null, file);
|
||||
return;
|
||||
}
|
||||
|
||||
const opts = clonedeep(options || {});
|
||||
opts.data = file.contents.toString();
|
||||
|
||||
// We set the file path here so that libsass can correctly resolve import paths
|
||||
opts.file = file.path;
|
||||
|
||||
// Ensure `indentedSyntax` is true if a `.sass` file
|
||||
if (path.extname(file.path) === '.sass') {
|
||||
opts.indentedSyntax = true;
|
||||
}
|
||||
|
||||
// Ensure file's parent directory in the include path
|
||||
if (opts.includePaths) {
|
||||
if (typeof opts.includePaths === 'string') {
|
||||
opts.includePaths = [opts.includePaths];
|
||||
}
|
||||
} else {
|
||||
opts.includePaths = [];
|
||||
}
|
||||
|
||||
opts.includePaths.unshift(path.dirname(file.path));
|
||||
|
||||
// Generate Source Maps if the source-map plugin is present
|
||||
if (file.sourceMap) {
|
||||
opts.sourceMap = file.path;
|
||||
opts.omitSourceMapUrl = true;
|
||||
opts.sourceMapContents = true;
|
||||
}
|
||||
|
||||
if (sync !== true) {
|
||||
/**
|
||||
* Async Sass render
|
||||
*/
|
||||
gulpSass.compiler.render(opts, (error, obj) => {
|
||||
if (error) {
|
||||
handleError(error, file, callback);
|
||||
return;
|
||||
}
|
||||
|
||||
filePush(file, obj, callback);
|
||||
});
|
||||
} else {
|
||||
/**
|
||||
* Sync Sass render
|
||||
*/
|
||||
try {
|
||||
filePush(file, gulpSass.compiler.renderSync(opts), callback);
|
||||
} catch (error) {
|
||||
handleError(error, file, callback);
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* Sync Sass render
|
||||
*/
|
||||
gulpSass.sync = (options) => gulpSass(options, true);
|
||||
|
||||
/**
|
||||
* Log errors nicely
|
||||
*/
|
||||
gulpSass.logError = function logError(error) {
|
||||
const message = new PluginError('sass', error.messageFormatted).toString();
|
||||
process.stderr.write(`${message}\n`);
|
||||
this.emit('end');
|
||||
};
|
||||
|
||||
module.exports = (compiler) => {
|
||||
if (!compiler || !compiler.render) {
|
||||
const message = new PluginError(
|
||||
PLUGIN_NAME,
|
||||
MISSING_COMPILER_MESSAGE,
|
||||
{ showProperties: false },
|
||||
).toString();
|
||||
process.stderr.write(`${message}\n`);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
gulpSass.compiler = compiler;
|
||||
return gulpSass;
|
||||
};
|
37
node_modules/gulp-sass/node_modules/ansi-regex/index.d.ts
generated
vendored
Normal file
37
node_modules/gulp-sass/node_modules/ansi-regex/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
declare namespace ansiRegex {
|
||||
interface Options {
|
||||
/**
|
||||
Match only the first ANSI escape.
|
||||
|
||||
@default false
|
||||
*/
|
||||
onlyFirst: boolean;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Regular expression for matching ANSI escape codes.
|
||||
|
||||
@example
|
||||
```
|
||||
import ansiRegex = require('ansi-regex');
|
||||
|
||||
ansiRegex().test('\u001B[4mcake\u001B[0m');
|
||||
//=> true
|
||||
|
||||
ansiRegex().test('cake');
|
||||
//=> false
|
||||
|
||||
'\u001B[4mcake\u001B[0m'.match(ansiRegex());
|
||||
//=> ['\u001B[4m', '\u001B[0m']
|
||||
|
||||
'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
|
||||
//=> ['\u001B[4m']
|
||||
|
||||
'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex());
|
||||
//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
|
||||
```
|
||||
*/
|
||||
declare function ansiRegex(options?: ansiRegex.Options): RegExp;
|
||||
|
||||
export = ansiRegex;
|
10
node_modules/gulp-sass/node_modules/ansi-regex/index.js
generated
vendored
Normal file
10
node_modules/gulp-sass/node_modules/ansi-regex/index.js
generated
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = ({onlyFirst = false} = {}) => {
|
||||
const pattern = [
|
||||
'[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
|
||||
'(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
|
||||
].join('|');
|
||||
|
||||
return new RegExp(pattern, onlyFirst ? undefined : 'g');
|
||||
};
|
9
node_modules/gulp-sass/node_modules/ansi-regex/license
generated
vendored
Normal file
9
node_modules/gulp-sass/node_modules/ansi-regex/license
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
55
node_modules/gulp-sass/node_modules/ansi-regex/package.json
generated
vendored
Normal file
55
node_modules/gulp-sass/node_modules/ansi-regex/package.json
generated
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
{
|
||||
"name": "ansi-regex",
|
||||
"version": "5.0.1",
|
||||
"description": "Regular expression for matching ANSI escape codes",
|
||||
"license": "MIT",
|
||||
"repository": "chalk/ansi-regex",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd",
|
||||
"view-supported": "node fixtures/view-codes.js"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"ansi",
|
||||
"styles",
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"cli",
|
||||
"string",
|
||||
"tty",
|
||||
"escape",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"command-line",
|
||||
"text",
|
||||
"regex",
|
||||
"regexp",
|
||||
"re",
|
||||
"match",
|
||||
"test",
|
||||
"find",
|
||||
"pattern"
|
||||
],
|
||||
"devDependencies": {
|
||||
"ava": "^2.4.0",
|
||||
"tsd": "^0.9.0",
|
||||
"xo": "^0.25.3"
|
||||
}
|
||||
}
|
78
node_modules/gulp-sass/node_modules/ansi-regex/readme.md
generated
vendored
Normal file
78
node_modules/gulp-sass/node_modules/ansi-regex/readme.md
generated
vendored
Normal file
@ -0,0 +1,78 @@
|
||||
# ansi-regex
|
||||
|
||||
> Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install ansi-regex
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const ansiRegex = require('ansi-regex');
|
||||
|
||||
ansiRegex().test('\u001B[4mcake\u001B[0m');
|
||||
//=> true
|
||||
|
||||
ansiRegex().test('cake');
|
||||
//=> false
|
||||
|
||||
'\u001B[4mcake\u001B[0m'.match(ansiRegex());
|
||||
//=> ['\u001B[4m', '\u001B[0m']
|
||||
|
||||
'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
|
||||
//=> ['\u001B[4m']
|
||||
|
||||
'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex());
|
||||
//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
|
||||
```
|
||||
|
||||
|
||||
## API
|
||||
|
||||
### ansiRegex(options?)
|
||||
|
||||
Returns a regex for matching ANSI escape codes.
|
||||
|
||||
#### options
|
||||
|
||||
Type: `object`
|
||||
|
||||
##### onlyFirst
|
||||
|
||||
Type: `boolean`<br>
|
||||
Default: `false` *(Matches any ANSI escape codes in a string)*
|
||||
|
||||
Match only the first ANSI escape.
|
||||
|
||||
|
||||
## FAQ
|
||||
|
||||
### Why do you test for codes not in the ECMA 48 standard?
|
||||
|
||||
Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. We test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them.
|
||||
|
||||
On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out.
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
- [Sindre Sorhus](https://github.com/sindresorhus)
|
||||
- [Josh Junon](https://github.com/qix-)
|
||||
|
||||
|
||||
---
|
||||
|
||||
<div align="center">
|
||||
<b>
|
||||
<a href="https://tidelift.com/subscription/pkg/npm-ansi-regex?utm_source=npm-ansi-regex&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
|
||||
</b>
|
||||
<br>
|
||||
<sub>
|
||||
Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
|
||||
</sub>
|
||||
</div>
|
21
node_modules/gulp-sass/node_modules/replace-ext/LICENSE
generated
vendored
Normal file
21
node_modules/gulp-sass/node_modules/replace-ext/LICENSE
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014-2020 Blaine Bublitz <blaine.bublitz@gmail.com>, Eric Schoffstall <yo@contra.io> and other contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
54
node_modules/gulp-sass/node_modules/replace-ext/README.md
generated
vendored
Normal file
54
node_modules/gulp-sass/node_modules/replace-ext/README.md
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
<p align="center">
|
||||
<a href="http://gulpjs.com">
|
||||
<img height="257" width="114" src="https://raw.githubusercontent.com/gulpjs/artwork/master/gulp-2x.png">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
# replace-ext
|
||||
|
||||
[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Build Status][ci-image]][ci-url] [![Coveralls Status][coveralls-image]][coveralls-url]
|
||||
|
||||
Replaces a file extension with another one.
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
var replaceExt = require('replace-ext');
|
||||
|
||||
var path = '/some/dir/file.js';
|
||||
var newPath = replaceExt(path, '.coffee');
|
||||
|
||||
console.log(newPath); // /some/dir/file.coffee
|
||||
```
|
||||
|
||||
## API
|
||||
|
||||
### `replaceExt(path, extension)`
|
||||
|
||||
Replaces the extension from `path` with `extension` and returns the updated path string.
|
||||
|
||||
Does not replace the extension if `path` is not a string or is empty.
|
||||
|
||||
## `replace-ext` for enterprise
|
||||
|
||||
Available as part of the Tidelift Subscription.
|
||||
|
||||
The maintainers of `replace-ext` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.][tidelift-url]
|
||||
|
||||
## License
|
||||
|
||||
MIT
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
[downloads-image]: https://img.shields.io/npm/dm/replace-ext.svg?style=flat-square
|
||||
[npm-url]: https://www.npmjs.com/package/replace-ext
|
||||
[npm-image]: https://img.shields.io/npm/v/replace-ext.svg?style=flat-square
|
||||
|
||||
[ci-url]: https://github.com/gulpjs/replace-ext/actions?query=workflow:dev
|
||||
[ci-image]: https://img.shields.io/github/workflow/status/gulpjs/replace-ext/dev?style=flat-square
|
||||
|
||||
[coveralls-url]: https://coveralls.io/r/gulpjs/replace-ext
|
||||
[coveralls-image]: https://img.shields.io/coveralls/gulpjs/replace-ext/master.svg?style=flat-square
|
||||
|
||||
[tidelift-url]: https://tidelift.com/subscription/pkg/npm-replace-ext?utm_source=npm-replace-ext&utm_medium=referral&utm_campaign=enterprise&utm_term=repo
|
||||
<!-- prettier-ignore-end -->
|
32
node_modules/gulp-sass/node_modules/replace-ext/index.js
generated
vendored
Normal file
32
node_modules/gulp-sass/node_modules/replace-ext/index.js
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
'use strict';
|
||||
|
||||
var path = require('path');
|
||||
|
||||
function replaceExt(npath, ext) {
|
||||
if (typeof npath !== 'string') {
|
||||
return npath;
|
||||
}
|
||||
|
||||
if (npath.length === 0) {
|
||||
return npath;
|
||||
}
|
||||
|
||||
var nFileName = path.basename(npath, path.extname(npath)) + ext;
|
||||
var nFilepath = path.join(path.dirname(npath), nFileName);
|
||||
|
||||
// Because `path.join` removes the head './' from the given path.
|
||||
// This removal can cause a problem when passing the result to `require` or
|
||||
// `import`.
|
||||
if (startsWithSingleDot(npath)) {
|
||||
return '.' + path.sep + nFilepath;
|
||||
}
|
||||
|
||||
return nFilepath;
|
||||
}
|
||||
|
||||
function startsWithSingleDot(fpath) {
|
||||
var first2chars = fpath.slice(0, 2);
|
||||
return first2chars === '.' + path.sep || first2chars === './';
|
||||
}
|
||||
|
||||
module.exports = replaceExt;
|
47
node_modules/gulp-sass/node_modules/replace-ext/package.json
generated
vendored
Normal file
47
node_modules/gulp-sass/node_modules/replace-ext/package.json
generated
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
{
|
||||
"name": "replace-ext",
|
||||
"version": "2.0.0",
|
||||
"description": "Replaces a file extension with another one.",
|
||||
"author": "Gulp Team <team@gulpjs.com> (http://gulpjs.com/)",
|
||||
"contributors": [
|
||||
"Eric Schoffstall <yo@contra.io>",
|
||||
"Blaine Bublitz <blaine.bublitz@gmail.com>"
|
||||
],
|
||||
"repository": "gulpjs/replace-ext",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"main": "index.js",
|
||||
"files": [
|
||||
"LICENSE",
|
||||
"index.js"
|
||||
],
|
||||
"scripts": {
|
||||
"lint": "eslint .",
|
||||
"pretest": "npm run lint",
|
||||
"test": "nyc mocha --async-only"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-config-gulp": "^4.0.0",
|
||||
"expect": "^25.4.0",
|
||||
"mocha": "^7.1.2",
|
||||
"nyc": "^15.0.1"
|
||||
},
|
||||
"nyc": {
|
||||
"reporter": [
|
||||
"lcov",
|
||||
"text-summary"
|
||||
]
|
||||
},
|
||||
"prettier": {
|
||||
"singleQuote": true
|
||||
},
|
||||
"keywords": [
|
||||
"gulp",
|
||||
"extensions",
|
||||
"filepath",
|
||||
"basename"
|
||||
]
|
||||
}
|
17
node_modules/gulp-sass/node_modules/strip-ansi/index.d.ts
generated
vendored
Normal file
17
node_modules/gulp-sass/node_modules/strip-ansi/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
/**
|
||||
Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string.
|
||||
|
||||
@example
|
||||
```
|
||||
import stripAnsi = require('strip-ansi');
|
||||
|
||||
stripAnsi('\u001B[4mUnicorn\u001B[0m');
|
||||
//=> 'Unicorn'
|
||||
|
||||
stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
|
||||
//=> 'Click'
|
||||
```
|
||||
*/
|
||||
declare function stripAnsi(string: string): string;
|
||||
|
||||
export = stripAnsi;
|
4
node_modules/gulp-sass/node_modules/strip-ansi/index.js
generated
vendored
Normal file
4
node_modules/gulp-sass/node_modules/strip-ansi/index.js
generated
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
'use strict';
|
||||
const ansiRegex = require('ansi-regex');
|
||||
|
||||
module.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;
|
9
node_modules/gulp-sass/node_modules/strip-ansi/license
generated
vendored
Normal file
9
node_modules/gulp-sass/node_modules/strip-ansi/license
generated
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
54
node_modules/gulp-sass/node_modules/strip-ansi/package.json
generated
vendored
Normal file
54
node_modules/gulp-sass/node_modules/strip-ansi/package.json
generated
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
{
|
||||
"name": "strip-ansi",
|
||||
"version": "6.0.1",
|
||||
"description": "Strip ANSI escape codes from a string",
|
||||
"license": "MIT",
|
||||
"repository": "chalk/strip-ansi",
|
||||
"author": {
|
||||
"name": "Sindre Sorhus",
|
||||
"email": "sindresorhus@gmail.com",
|
||||
"url": "sindresorhus.com"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "xo && ava && tsd"
|
||||
},
|
||||
"files": [
|
||||
"index.js",
|
||||
"index.d.ts"
|
||||
],
|
||||
"keywords": [
|
||||
"strip",
|
||||
"trim",
|
||||
"remove",
|
||||
"ansi",
|
||||
"styles",
|
||||
"color",
|
||||
"colour",
|
||||
"colors",
|
||||
"terminal",
|
||||
"console",
|
||||
"string",
|
||||
"tty",
|
||||
"escape",
|
||||
"formatting",
|
||||
"rgb",
|
||||
"256",
|
||||
"shell",
|
||||
"xterm",
|
||||
"log",
|
||||
"logging",
|
||||
"command-line",
|
||||
"text"
|
||||
],
|
||||
"dependencies": {
|
||||
"ansi-regex": "^5.0.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"ava": "^2.4.0",
|
||||
"tsd": "^0.10.0",
|
||||
"xo": "^0.25.3"
|
||||
}
|
||||
}
|
46
node_modules/gulp-sass/node_modules/strip-ansi/readme.md
generated
vendored
Normal file
46
node_modules/gulp-sass/node_modules/strip-ansi/readme.md
generated
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
# strip-ansi [](https://travis-ci.org/chalk/strip-ansi)
|
||||
|
||||
> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string
|
||||
|
||||
|
||||
## Install
|
||||
|
||||
```
|
||||
$ npm install strip-ansi
|
||||
```
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```js
|
||||
const stripAnsi = require('strip-ansi');
|
||||
|
||||
stripAnsi('\u001B[4mUnicorn\u001B[0m');
|
||||
//=> 'Unicorn'
|
||||
|
||||
stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
|
||||
//=> 'Click'
|
||||
```
|
||||
|
||||
|
||||
## strip-ansi for enterprise
|
||||
|
||||
Available as part of the Tidelift Subscription.
|
||||
|
||||
The maintainers of strip-ansi and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-strip-ansi?utm_source=npm-strip-ansi&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
|
||||
|
||||
|
||||
## Related
|
||||
|
||||
- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module
|
||||
- [strip-ansi-stream](https://github.com/chalk/strip-ansi-stream) - Streaming version of this module
|
||||
- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
|
||||
- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
|
||||
- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
|
||||
|
||||
|
||||
## Maintainers
|
||||
|
||||
- [Sindre Sorhus](https://github.com/sindresorhus)
|
||||
- [Josh Junon](https://github.com/qix-)
|
||||
|
60
node_modules/gulp-sass/package.json
generated
vendored
Normal file
60
node_modules/gulp-sass/package.json
generated
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
{
|
||||
"name": "gulp-sass",
|
||||
"version": "5.1.0",
|
||||
"description": "Gulp plugin for sass",
|
||||
"main": "index.js",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "eslint --report-unused-disable-directives --ignore-path .gitignore .",
|
||||
"fix": "npm run lint -- --fix",
|
||||
"mocha": "mocha",
|
||||
"test": "npm run test:node-sass && npm run test:dart-sass",
|
||||
"test:node-sass": "mocha",
|
||||
"test:dart-sass": "mocha -- --sass"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/dlmanning/gulp-sass.git"
|
||||
},
|
||||
"keywords": [
|
||||
"gulpplugin",
|
||||
"sass",
|
||||
"gulp"
|
||||
],
|
||||
"author": "David Manning",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/dlmanning/gulp-sass/issues"
|
||||
},
|
||||
"homepage": "https://github.com/dlmanning/gulp-sass#readme",
|
||||
"files": [
|
||||
"index.js"
|
||||
],
|
||||
"dependencies": {
|
||||
"lodash.clonedeep": "^4.5.0",
|
||||
"picocolors": "^1.0.0",
|
||||
"plugin-error": "^1.0.1",
|
||||
"replace-ext": "^2.0.0",
|
||||
"strip-ansi": "^6.0.1",
|
||||
"vinyl-sourcemaps-apply": "^0.2.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^10.4.0",
|
||||
"eslint": "^8.5.0",
|
||||
"eslint-config-airbnb-base": "^15.0.0",
|
||||
"eslint-plugin-import": "^2.25.3",
|
||||
"globule": "^1.3.3",
|
||||
"gulp": "^4.0.2",
|
||||
"gulp-postcss": "^9.0.1",
|
||||
"gulp-sourcemaps": "^3.0.0",
|
||||
"gulp-tap": "^2.0.0",
|
||||
"mocha": "^9.1.3",
|
||||
"node-sass": "^7.0.1",
|
||||
"postcss": "^8.4.5",
|
||||
"rimraf": "^3.0.2",
|
||||
"sass": "^1.45.1",
|
||||
"vinyl": "^2.2.1"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user