@videinfra/static-website-builder 2.0.2 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/.prettierrc +11 -11
  2. package/CHANGELOG.md +214 -210
  3. package/README.md +102 -102
  4. package/bin/builder.js +40 -40
  5. package/eslint.config.js +39 -39
  6. package/gulpfile.js +63 -63
  7. package/init/default/config/config.js +44 -44
  8. package/init/default/src/html/data/global.js +9 -9
  9. package/init/default/src/javascripts/_entries.js +14 -14
  10. package/init/index.js +63 -63
  11. package/init/test/.env +6 -6
  12. package/init/test/.env.local +3 -2
  13. package/init/test/config/config.js +71 -67
  14. package/init/test/src/html/404.twig +12 -12
  15. package/init/test/src/html/data/global.js +10 -10
  16. package/init/test/src/html/env.twig +21 -21
  17. package/init/test/src/html/layouts/base.twig +1 -1
  18. package/init/test/src/html/other.twig +9 -9
  19. package/init/test/src/html/preposition.twig +4 -4
  20. package/init/test/src/javascripts/_entries-alt.js +10 -10
  21. package/init/test/src/javascripts/_entries.js +19 -19
  22. package/init/test/src/javascripts/common.js +13 -13
  23. package/init/test/src/javascripts/main.js +8 -8
  24. package/init/test/src/javascripts/something.ts +9 -9
  25. package/init/test/src/stylesheets/autoprefixer-test.scss +3 -3
  26. package/init/test/src/stylesheets/env-test.scss +28 -28
  27. package/init/test/src/stylesheets/ignore-test.scss +4 -4
  28. package/init/test/src/stylesheets/nested-calc-test.scss +3 -3
  29. package/init/test/src/stylesheets/sub-folder/import-test.scss +2 -2
  30. package/lib/camelize-file-name.js +21 -21
  31. package/lib/generate-gulp-tasks.js +85 -85
  32. package/lib/get-config.js +203 -204
  33. package/lib/get-file-names.js +23 -23
  34. package/lib/get-path.js +102 -102
  35. package/lib/globs-helper.js +243 -243
  36. package/lib/gulp/dynamic-task.js +8 -8
  37. package/lib/gulp/resolve-dynamic-task.js +11 -11
  38. package/lib/gulp/task-before-dest.js +8 -8
  39. package/lib/gulp/task-end.js +10 -10
  40. package/lib/gulp/task-start.js +12 -12
  41. package/lib/gulp/task-watch.js +66 -66
  42. package/lib/init/copy-folder.js +50 -50
  43. package/lib/init/folder-exists.js +10 -10
  44. package/lib/init/get-folder-list.js +16 -16
  45. package/lib/init/merge-package.js +17 -17
  46. package/lib/init/read-package.js +17 -17
  47. package/lib/log-error.js +15 -15
  48. package/lib/merge.js +27 -27
  49. package/lib/run-preprocess.js +32 -32
  50. package/lib/task-order.js +19 -19
  51. package/package.json +68 -68
  52. package/plugins/example/preprocess-config.js +17 -17
  53. package/plugins/example/task.js +55 -55
  54. package/plugins/example.js +38 -38
  55. package/plugins/sass-engine/preprocess-config.js +59 -59
  56. package/plugins/sass.js +41 -41
  57. package/plugins/twig/lodash-filters/filters.js +91 -91
  58. package/plugins/twig/lodash-filters.js +14 -14
  59. package/plugins/twig/symfony-filters/filters.js +102 -102
  60. package/plugins/twig/symfony-filters/preposition_nbsp.js +77 -77
  61. package/plugins/twig/symfony-filters.js +14 -14
  62. package/plugins/twig/symfony-functions/functions.js +31 -31
  63. package/plugins/twig/symfony-functions.js +14 -14
  64. package/plugins/twig-engine/preprocess-config.js +53 -53
  65. package/plugins/twig.js +74 -74
  66. package/tasks/browser-sync/config.js +39 -39
  67. package/tasks/browser-sync/preprocess-config.js +32 -32
  68. package/tasks/browser-sync/task.js +9 -9
  69. package/tasks/clean/config.js +20 -20
  70. package/tasks/clean/preprocess-config.js +19 -19
  71. package/tasks/clean/task.js +7 -7
  72. package/tasks/data/config.js +34 -34
  73. package/tasks/data/data-loader-js.js +14 -14
  74. package/tasks/data/data-loader-json.js +5 -5
  75. package/tasks/data/get-data.js +96 -96
  76. package/tasks/env/config.js +26 -23
  77. package/tasks/env/get-env.js +113 -81
  78. package/tasks/fonts/config.js +24 -24
  79. package/tasks/fonts/task.js +47 -47
  80. package/tasks/global/config.js +7 -7
  81. package/tasks/html/config.js +42 -42
  82. package/tasks/html/task.js +91 -91
  83. package/tasks/icons/config.js +47 -47
  84. package/tasks/icons/preprocess-config.js +60 -60
  85. package/tasks/icons/task.js +56 -56
  86. package/tasks/images/config.js +27 -27
  87. package/tasks/images/task.js +46 -46
  88. package/tasks/javascripts/config.js +69 -69
  89. package/tasks/javascripts/preprocess-config.js +109 -109
  90. package/tasks/javascripts/task.js +86 -86
  91. package/tasks/sitemap/config.js +48 -48
  92. package/tasks/sitemap/preprocess-config.js +18 -18
  93. package/tasks/sitemap/task.js +69 -69
  94. package/tasks/sizereport/config.js +23 -23
  95. package/tasks/sizereport/task.js +16 -16
  96. package/tasks/static/config.js +27 -27
  97. package/tasks/static/task.js +46 -46
  98. package/tasks/stylesheets/config.js +85 -85
  99. package/tasks/stylesheets/preprocess-config.js +41 -41
  100. package/tasks/stylesheets/task.js +73 -73
  101. package/tests/build/build.test.js +153 -153
  102. package/tests/camelize-file-name.test.js +11 -11
  103. package/tests/generate-gulp-tasks.test.js +78 -78
  104. package/tests/glob-helper.test.js +99 -99
  105. package/tests/merge.test.js +10 -10
  106. package/tests/preposition_nbsp.test.js +50 -50
  107. package/tests/run-preprocess.test.js +90 -90
  108. package/tests/sass-stringify.test.js +24 -24
  109. package/tests/sitemap.test.js +12 -12
  110. package/vendor/gulp-rolldown/index.js +151 -151
  111. package/vendor/gulp-rolldown/plugin-raw.js +17 -17
  112. package/vendor/gulp-rolldown/plugin-virtual-entry.js +30 -30
  113. package/vendor/gulp-sass/CHANGELOG.md +168 -168
  114. package/vendor/gulp-sass/LICENSE +20 -20
  115. package/vendor/gulp-sass/README.md +187 -187
  116. package/vendor/gulp-sass/index.js +208 -208
  117. package/vendor/gulp-sass/package.json +61 -61
  118. package/vendor/gulp-sass/sass-stringify.js +32 -32
  119. package/vendor/gulp-twig/LICENSE +20 -20
  120. package/vendor/gulp-twig/README.md +167 -167
  121. package/vendor/gulp-twig/index.js +138 -138
  122. package/vendor/gulp-twig/package.json +44 -44
@@ -1,187 +1,187 @@
1
- # gulp-sass ![npm package version](https://img.shields.io/npm/v/gulp-sass?label=npm%20version) [![Build Status](https://img.shields.io/github/workflow/status/dlmanning/gulp-sass/CI/master)](https://github.com/dlmanning/gulp-sass/actions?query=workflow%3ACI+branch%3Amaster) [![Join the chat at https://gitter.im/dlmanning/gulp-sass](https://img.shields.io/gitter/room/dlmanning/gulp-sass?color=%2346b091&label=chat&logo=gitter)](https://gitter.im/dlmanning/gulp-sass) ![Node.js support](https://img.shields.io/node/v/gulp-sass)
2
-
3
- Sass plugin for [Gulp](https://github.com/gulpjs/gulp).
4
-
5
- **_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._**
6
-
7
- **Migrating your existing project to version 5? Please read our (short!) [migration guide](#migrating-to-version-5).**
8
-
9
- ## Support
10
-
11
- Only [Active LTS and Current releases](https://github.com/nodejs/Release#release-schedule) are supported.
12
-
13
- ## Installation
14
-
15
- 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.
16
-
17
- Whichever compiler you choose, it's best to install these as dev dependencies:
18
-
19
- ```sh
20
- npm install sass gulp-sass --save-dev
21
- ```
22
-
23
- ### Importing it into your project
24
-
25
- `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:
26
-
27
- ```js
28
- const sass = require('gulp-sass')(require('sass'));
29
- ```
30
-
31
- To use `gulp-sass` in an ECMAScript module (which is supported in newer Node.js 14 and later), do something like this:
32
-
33
- ```js
34
- import dartSass from 'sass';
35
- import gulpSass from 'gulp-sass';
36
- const sass = gulpSass(dartSass);
37
- ```
38
-
39
- ## Usage
40
-
41
- **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).
42
-
43
- `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.
44
-
45
- **⚠️ 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.
46
-
47
- ### Render your CSS
48
-
49
- To render your CSS with a build task, then watch your files for changes, you might write something like this:
50
-
51
- ```js
52
- 'use strict';
53
-
54
- import gulp from 'gulp';
55
- const sass = require('gulp-sass')(require('sass'));
56
-
57
- export function buildStyles() {
58
- return gulp.src('./sass/**/*.scss')
59
- .pipe(sass().on('error', sass.logError))
60
- .pipe(gulp.dest('./css'));
61
- };
62
-
63
- export function watch () {
64
- gulp.watch('./sass/**/*.scss', ['sass']);
65
- };
66
- ```
67
-
68
- With synchronous rendering, that Gulp task looks like this:
69
-
70
- ```js
71
- function buildStyles() {
72
- return gulp.src('./sass/**/*.scss')
73
- .pipe(sass.sync().on('error', sass.logError))
74
- .pipe(gulp.dest('./css'));
75
- };
76
- ```
77
-
78
- ### Render with options
79
-
80
- 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:
81
-
82
- - The `data` option, which is used by `gulp-sass` internally.
83
- - The `file` option, which has undefined behavior that may change without notice.
84
-
85
- For example, to compress your CSS, you can call `sass({outputStyle: 'compressed'}`. In the context of a Gulp task, that looks like this:
86
-
87
- ```js
88
- export function buildStyles() {
89
- return gulp.src('./sass/**/*.scss')
90
- .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
91
- .pipe(gulp.dest('./css'));
92
- };
93
- ```
94
-
95
- Or this for synchronous rendering:
96
-
97
- ```js
98
- export function buildStyles() {
99
- return gulp.src('./sass/**/*.scss')
100
- .pipe(sass.sync({outputStyle: 'compressed'}).on('error', sass.logError))
101
- .pipe(gulp.dest('./css'));
102
- };
103
- ```
104
-
105
- ### Include a source map
106
-
107
- `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.
108
-
109
- ```js
110
- import sourcemaps from 'gulp-sourcemaps';
111
-
112
- export function buildStyles() {
113
- return gulp.src('./sass/**/*.scss')
114
- .pipe(sourcemaps.init())
115
- .pipe(sass().on('error', sass.logError))
116
- .pipe(sourcemaps.write())
117
- .pipe(gulp.dest('./css'));
118
- }
119
- ```
120
-
121
- 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.
122
-
123
- ```js
124
- import sourcemaps from 'gulp-sourcemaps';
125
-
126
- export function buildStyles() {
127
- return gulp.src('./sass/**/*.scss')
128
- .pipe(sourcemaps.init())
129
- .pipe(sass().on('error', sass.logError))
130
- .pipe(sourcemaps.write('./maps'))
131
- .pipe(gulp.dest('./css'));
132
- };
133
- ```
134
-
135
- <h2 id="migrating-to-version-5">Migrating to version 5</h2>
136
-
137
- `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.
138
-
139
- ### Setting a Sass compiler
140
-
141
- 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`.
142
-
143
- ```sh
144
- npm install sass gulp-sass --save-dev
145
- ```
146
-
147
- 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`.
148
-
149
- These changes look something like this:
150
-
151
- ```diff
152
- - const sass = require('gulp-sass'));
153
- - import compiler from 'sass';
154
- - sass.compiler = compiler;
155
- + const sass = require('gulp-sass')(require('sass'));
156
- ```
157
-
158
- If you're migrating an ECMAScript module, that'll look something like this:
159
-
160
- ```diff
161
- import dartSass from 'sass';
162
- - import sass from 'gulp-sass';
163
- - sass.compiler = dartSass;
164
-
165
- import dartSass from 'sass';
166
- + import gulpSass from 'gulp-sass';
167
- + const sass = gulpSass(dartSass);
168
- ```
169
-
170
- ### What about fibers?
171
-
172
- 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()`.
173
-
174
- ## Issues
175
-
176
- `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.
177
-
178
- 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.
179
-
180
- 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.
181
-
182
- 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.
183
-
184
- [Dart Sass]: https://sass-lang.com/dart-sass
185
- [LibSass]: https://sass-lang.com/libsass
186
- [Node Sass]: https://github.com/sass/node-sass
187
- [Sass]: https://sass-lang.com
1
+ # gulp-sass ![npm package version](https://img.shields.io/npm/v/gulp-sass?label=npm%20version) [![Build Status](https://img.shields.io/github/workflow/status/dlmanning/gulp-sass/CI/master)](https://github.com/dlmanning/gulp-sass/actions?query=workflow%3ACI+branch%3Amaster) [![Join the chat at https://gitter.im/dlmanning/gulp-sass](https://img.shields.io/gitter/room/dlmanning/gulp-sass?color=%2346b091&label=chat&logo=gitter)](https://gitter.im/dlmanning/gulp-sass) ![Node.js support](https://img.shields.io/node/v/gulp-sass)
2
+
3
+ Sass plugin for [Gulp](https://github.com/gulpjs/gulp).
4
+
5
+ **_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._**
6
+
7
+ **Migrating your existing project to version 5? Please read our (short!) [migration guide](#migrating-to-version-5).**
8
+
9
+ ## Support
10
+
11
+ Only [Active LTS and Current releases](https://github.com/nodejs/Release#release-schedule) are supported.
12
+
13
+ ## Installation
14
+
15
+ 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.
16
+
17
+ Whichever compiler you choose, it's best to install these as dev dependencies:
18
+
19
+ ```sh
20
+ npm install sass gulp-sass --save-dev
21
+ ```
22
+
23
+ ### Importing it into your project
24
+
25
+ `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:
26
+
27
+ ```js
28
+ const sass = require('gulp-sass')(require('sass'));
29
+ ```
30
+
31
+ To use `gulp-sass` in an ECMAScript module (which is supported in newer Node.js 14 and later), do something like this:
32
+
33
+ ```js
34
+ import dartSass from 'sass';
35
+ import gulpSass from 'gulp-sass';
36
+ const sass = gulpSass(dartSass);
37
+ ```
38
+
39
+ ## Usage
40
+
41
+ **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).
42
+
43
+ `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.
44
+
45
+ **⚠️ 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.
46
+
47
+ ### Render your CSS
48
+
49
+ To render your CSS with a build task, then watch your files for changes, you might write something like this:
50
+
51
+ ```js
52
+ 'use strict';
53
+
54
+ import gulp from 'gulp';
55
+ const sass = require('gulp-sass')(require('sass'));
56
+
57
+ export function buildStyles() {
58
+ return gulp.src('./sass/**/*.scss')
59
+ .pipe(sass().on('error', sass.logError))
60
+ .pipe(gulp.dest('./css'));
61
+ };
62
+
63
+ export function watch () {
64
+ gulp.watch('./sass/**/*.scss', ['sass']);
65
+ };
66
+ ```
67
+
68
+ With synchronous rendering, that Gulp task looks like this:
69
+
70
+ ```js
71
+ function buildStyles() {
72
+ return gulp.src('./sass/**/*.scss')
73
+ .pipe(sass.sync().on('error', sass.logError))
74
+ .pipe(gulp.dest('./css'));
75
+ };
76
+ ```
77
+
78
+ ### Render with options
79
+
80
+ 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:
81
+
82
+ - The `data` option, which is used by `gulp-sass` internally.
83
+ - The `file` option, which has undefined behavior that may change without notice.
84
+
85
+ For example, to compress your CSS, you can call `sass({outputStyle: 'compressed'}`. In the context of a Gulp task, that looks like this:
86
+
87
+ ```js
88
+ export function buildStyles() {
89
+ return gulp.src('./sass/**/*.scss')
90
+ .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
91
+ .pipe(gulp.dest('./css'));
92
+ };
93
+ ```
94
+
95
+ Or this for synchronous rendering:
96
+
97
+ ```js
98
+ export function buildStyles() {
99
+ return gulp.src('./sass/**/*.scss')
100
+ .pipe(sass.sync({outputStyle: 'compressed'}).on('error', sass.logError))
101
+ .pipe(gulp.dest('./css'));
102
+ };
103
+ ```
104
+
105
+ ### Include a source map
106
+
107
+ `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.
108
+
109
+ ```js
110
+ import sourcemaps from 'gulp-sourcemaps';
111
+
112
+ export function buildStyles() {
113
+ return gulp.src('./sass/**/*.scss')
114
+ .pipe(sourcemaps.init())
115
+ .pipe(sass().on('error', sass.logError))
116
+ .pipe(sourcemaps.write())
117
+ .pipe(gulp.dest('./css'));
118
+ }
119
+ ```
120
+
121
+ 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.
122
+
123
+ ```js
124
+ import sourcemaps from 'gulp-sourcemaps';
125
+
126
+ export function buildStyles() {
127
+ return gulp.src('./sass/**/*.scss')
128
+ .pipe(sourcemaps.init())
129
+ .pipe(sass().on('error', sass.logError))
130
+ .pipe(sourcemaps.write('./maps'))
131
+ .pipe(gulp.dest('./css'));
132
+ };
133
+ ```
134
+
135
+ <h2 id="migrating-to-version-5">Migrating to version 5</h2>
136
+
137
+ `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.
138
+
139
+ ### Setting a Sass compiler
140
+
141
+ 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`.
142
+
143
+ ```sh
144
+ npm install sass gulp-sass --save-dev
145
+ ```
146
+
147
+ 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`.
148
+
149
+ These changes look something like this:
150
+
151
+ ```diff
152
+ - const sass = require('gulp-sass'));
153
+ - import compiler from 'sass';
154
+ - sass.compiler = compiler;
155
+ + const sass = require('gulp-sass')(require('sass'));
156
+ ```
157
+
158
+ If you're migrating an ECMAScript module, that'll look something like this:
159
+
160
+ ```diff
161
+ import dartSass from 'sass';
162
+ - import sass from 'gulp-sass';
163
+ - sass.compiler = dartSass;
164
+
165
+ import dartSass from 'sass';
166
+ + import gulpSass from 'gulp-sass';
167
+ + const sass = gulpSass(dartSass);
168
+ ```
169
+
170
+ ### What about fibers?
171
+
172
+ 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()`.
173
+
174
+ ## Issues
175
+
176
+ `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.
177
+
178
+ 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.
179
+
180
+ 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.
181
+
182
+ 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.
183
+
184
+ [Dart Sass]: https://sass-lang.com/dart-sass
185
+ [LibSass]: https://sass-lang.com/libsass
186
+ [Node Sass]: https://github.com/sass/node-sass
187
+ [Sass]: https://sass-lang.com