sass-embedded 1.0.0-beta.4 → 1.0.0-rc.1
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.
- package/CHANGELOG.md +40 -0
- package/dist/.gitignore +1 -0
- package/dist/lib/index.js +40 -11
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/src/{embedded-compiler/compiler.js → async-compiler.js} +13 -13
- package/dist/lib/src/async-compiler.js.map +1 -0
- package/dist/lib/src/compile.js +187 -85
- package/dist/lib/src/compile.js.map +1 -1
- package/dist/lib/src/compiler-path.js +18 -0
- package/dist/lib/src/compiler-path.js.map +1 -0
- package/dist/lib/src/deprotofy-span.js +51 -0
- package/dist/lib/src/deprotofy-span.js.map +1 -0
- package/dist/lib/src/{embedded-protocol/dispatcher.js → dispatcher.js} +47 -41
- package/dist/lib/src/dispatcher.js.map +1 -0
- package/dist/lib/src/exception.js +20 -0
- package/dist/lib/src/exception.js.map +1 -0
- package/dist/lib/src/function-registry.js +92 -0
- package/dist/lib/src/function-registry.js.map +1 -0
- package/dist/lib/src/importer-registry.js +127 -0
- package/dist/lib/src/importer-registry.js.map +1 -0
- package/dist/lib/src/legacy/importer.js +186 -0
- package/dist/lib/src/legacy/importer.js.map +1 -0
- package/dist/lib/src/legacy/index.js +261 -0
- package/dist/lib/src/legacy/index.js.map +1 -0
- package/dist/lib/src/legacy/resolve-path.js +101 -0
- package/dist/lib/src/legacy/resolve-path.js.map +1 -0
- package/dist/lib/src/legacy/value/base.js +17 -0
- package/dist/lib/src/legacy/value/base.js.map +1 -0
- package/dist/lib/src/legacy/value/color.js +64 -0
- package/dist/lib/src/legacy/value/color.js.map +1 -0
- package/dist/lib/src/legacy/value/index.js +23 -0
- package/dist/lib/src/legacy/value/index.js.map +1 -0
- package/dist/lib/src/legacy/value/list.js +50 -0
- package/dist/lib/src/legacy/value/list.js.map +1 -0
- package/dist/lib/src/legacy/value/map.js +74 -0
- package/dist/lib/src/legacy/value/map.js.map +1 -0
- package/dist/lib/src/legacy/value/number.js +60 -0
- package/dist/lib/src/legacy/value/number.js.map +1 -0
- package/dist/lib/src/legacy/value/string.js +27 -0
- package/dist/lib/src/legacy/value/string.js.map +1 -0
- package/dist/lib/src/legacy/value/wrap.js +83 -0
- package/dist/lib/src/legacy/value/wrap.js.map +1 -0
- package/dist/lib/src/{embedded-protocol/message-transformer.js → message-transformer.js} +11 -10
- package/dist/lib/src/message-transformer.js.map +1 -0
- package/dist/lib/src/{embedded-compiler/packet-transformer.js → packet-transformer.js} +2 -1
- package/dist/lib/src/packet-transformer.js.map +1 -0
- package/dist/lib/src/protofier.js +272 -0
- package/dist/lib/src/protofier.js.map +1 -0
- package/dist/lib/src/{embedded-protocol/request-tracker.js → request-tracker.js} +1 -0
- package/dist/lib/src/request-tracker.js.map +1 -0
- package/dist/lib/src/sync-compiler.js +52 -0
- package/dist/lib/src/sync-compiler.js.map +1 -0
- package/dist/lib/src/{exception/span.js → sync-process/event.js} +2 -2
- package/dist/lib/src/sync-process/event.js.map +1 -0
- package/dist/lib/src/sync-process/index.js +122 -0
- package/dist/lib/src/sync-process/index.js.map +1 -0
- package/dist/lib/src/sync-process/sync-message-port.js +128 -0
- package/dist/lib/src/sync-process/sync-message-port.js.map +1 -0
- package/dist/lib/src/sync-process/worker.js +51 -0
- package/dist/lib/src/sync-process/worker.js.map +1 -0
- package/dist/lib/src/utils.js +96 -1
- package/dist/lib/src/utils.js.map +1 -1
- package/dist/lib/src/value/argument-list.js +31 -0
- package/dist/lib/src/value/argument-list.js.map +1 -0
- package/dist/lib/src/value/boolean.js +22 -5
- package/dist/lib/src/value/boolean.js.map +1 -1
- package/dist/lib/src/value/color.js +258 -0
- package/dist/lib/src/value/color.js.map +1 -0
- package/dist/lib/src/value/function.js +34 -0
- package/dist/lib/src/value/function.js.map +1 -0
- package/dist/lib/src/value/{value.js → index.js} +28 -14
- package/dist/lib/src/value/index.js.map +1 -0
- package/dist/lib/src/value/list.js +99 -0
- package/dist/lib/src/value/list.js.map +1 -0
- package/dist/lib/src/value/map.js +91 -0
- package/dist/lib/src/value/map.js.map +1 -0
- package/dist/lib/src/value/null.js +16 -3
- package/dist/lib/src/value/null.js.map +1 -1
- package/dist/lib/src/value/number.js +41 -46
- package/dist/lib/src/value/number.js.map +1 -1
- package/dist/lib/src/value/string.js +18 -12
- package/dist/lib/src/value/string.js.map +1 -1
- package/dist/lib/src/value/utils.js +27 -2
- package/dist/lib/src/value/utils.js.map +1 -1
- package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js +1395 -101
- package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js.map +1 -1
- package/dist/package.json +23 -20
- package/dist/tool/utils.js +50 -18
- package/dist/tool/utils.js.map +1 -1
- package/dist/types/compile.d.ts +152 -0
- package/dist/types/exception.d.ts +41 -0
- package/dist/types/importer.d.ts +294 -0
- package/dist/types/index.d.ts +80 -0
- package/dist/types/legacy/exception.d.ts +54 -0
- package/dist/types/legacy/function.d.ts +756 -0
- package/dist/types/legacy/importer.d.ts +168 -0
- package/dist/types/legacy/options.d.ts +642 -0
- package/dist/types/legacy/plugin_this.d.ts +73 -0
- package/dist/types/legacy/render.d.ts +139 -0
- package/dist/types/logger/index.d.ts +94 -0
- package/dist/types/logger/source_location.d.ts +21 -0
- package/dist/types/logger/source_span.d.ts +34 -0
- package/dist/types/options.d.ts +418 -0
- package/dist/types/util/promise_or.d.ts +17 -0
- package/dist/types/value/argument_list.d.ts +47 -0
- package/dist/types/value/boolean.d.ts +29 -0
- package/dist/types/value/color.d.ts +107 -0
- package/dist/types/value/function.d.ts +22 -0
- package/dist/types/value/index.d.ts +173 -0
- package/dist/types/value/list.d.ts +54 -0
- package/dist/types/value/map.d.ts +41 -0
- package/dist/types/value/number.d.ts +305 -0
- package/dist/types/value/string.d.ts +84 -0
- package/package.json +23 -20
- package/dist/lib/index.d.ts +0 -7
- package/dist/lib/src/compile.d.ts +0 -20
- package/dist/lib/src/embedded-compiler/compiler.d.ts +0 -19
- package/dist/lib/src/embedded-compiler/compiler.js.map +0 -1
- package/dist/lib/src/embedded-compiler/packet-transformer.d.ts +0 -34
- package/dist/lib/src/embedded-compiler/packet-transformer.js.map +0 -1
- package/dist/lib/src/embedded-protocol/dispatcher.d.ts +0 -60
- package/dist/lib/src/embedded-protocol/dispatcher.js.map +0 -1
- package/dist/lib/src/embedded-protocol/message-transformer.d.ts +0 -47
- package/dist/lib/src/embedded-protocol/message-transformer.js.map +0 -1
- package/dist/lib/src/embedded-protocol/request-tracker.d.ts +0 -20
- package/dist/lib/src/embedded-protocol/request-tracker.js.map +0 -1
- package/dist/lib/src/embedded-protocol/utils.d.ts +0 -7
- package/dist/lib/src/embedded-protocol/utils.js +0 -52
- package/dist/lib/src/embedded-protocol/utils.js.map +0 -1
- package/dist/lib/src/exception/exception.d.ts +0 -19
- package/dist/lib/src/exception/exception.js +0 -36
- package/dist/lib/src/exception/exception.js.map +0 -1
- package/dist/lib/src/exception/location.d.ts +0 -11
- package/dist/lib/src/exception/location.js +0 -6
- package/dist/lib/src/exception/location.js.map +0 -1
- package/dist/lib/src/exception/span.d.ts +0 -29
- package/dist/lib/src/exception/span.js.map +0 -1
- package/dist/lib/src/node-sass/render.d.ts +0 -60
- package/dist/lib/src/node-sass/render.js +0 -126
- package/dist/lib/src/node-sass/render.js.map +0 -1
- package/dist/lib/src/utils.d.ts +0 -12
- package/dist/lib/src/value/boolean.d.ts +0 -25
- package/dist/lib/src/value/null.d.ts +0 -12
- package/dist/lib/src/value/number.d.ts +0 -189
- package/dist/lib/src/value/string.d.ts +0 -56
- package/dist/lib/src/value/utils.d.ts +0 -36
- package/dist/lib/src/value/value.d.ts +0 -103
- package/dist/lib/src/value/value.js.map +0 -1
- package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.d.ts +0 -1
- package/dist/tool/utils.d.ts +0 -32
package/dist/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sass-embedded",
|
|
3
|
-
"version": "1.0.0-
|
|
4
|
-
"protocol-version": "1.0.0-beta.
|
|
5
|
-
"compiler-version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-rc.1",
|
|
4
|
+
"protocol-version": "1.0.0-beta.16",
|
|
5
|
+
"compiler-version": "1.0.0-beta.16",
|
|
6
6
|
"description": "Node.js library that communicates with Embedded Dart Sass using the Embedded Sass protocol",
|
|
7
7
|
"repository": "sass/embedded-host-node",
|
|
8
8
|
"author": "Google Inc.",
|
|
9
9
|
"license": "MIT",
|
|
10
10
|
"main": "dist/lib/index.js",
|
|
11
|
-
"types": "dist/
|
|
11
|
+
"types": "dist/types/index.d.ts",
|
|
12
12
|
"files": [
|
|
13
13
|
"dist/**/*",
|
|
14
14
|
"download-compiler-for-end-user.js"
|
|
@@ -24,37 +24,40 @@
|
|
|
24
24
|
"fix": "gts fix",
|
|
25
25
|
"postinstall": "node ./download-compiler-for-end-user.js",
|
|
26
26
|
"prepublishOnly": "npm run clean && ts-node ./tool/prepare-release.ts",
|
|
27
|
-
"test": "
|
|
27
|
+
"test": "jest"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"buffer-builder": "^0.2.0",
|
|
31
31
|
"extract-zip": "^2.0.1",
|
|
32
32
|
"google-protobuf": "^3.11.4",
|
|
33
|
-
"immutable": "^4.0.0
|
|
33
|
+
"immutable": "^4.0.0",
|
|
34
34
|
"node-fetch": "^2.6.0",
|
|
35
|
-
"rxjs": "^
|
|
36
|
-
"semver": "^
|
|
35
|
+
"rxjs": "^7.4.0",
|
|
36
|
+
"semver": "^7.3.5",
|
|
37
37
|
"shelljs": "^0.8.4",
|
|
38
|
+
"supports-color": "^8.1.1",
|
|
38
39
|
"tar": "^6.0.5"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|
|
41
42
|
"@types/buffer-builder": "^0.2.0",
|
|
42
43
|
"@types/google-protobuf": "^3.7.2",
|
|
43
|
-
"@types/
|
|
44
|
-
"@types/node": "^
|
|
44
|
+
"@types/jest": "^27.0.2",
|
|
45
|
+
"@types/node": "^16.10.3",
|
|
45
46
|
"@types/node-fetch": "^2.5.7",
|
|
46
47
|
"@types/semver": "^7.3.4",
|
|
47
48
|
"@types/shelljs": "^0.8.8",
|
|
48
|
-
"@types/
|
|
49
|
-
"@types/
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
49
|
+
"@types/supports-color": "^8.1.1",
|
|
50
|
+
"@types/tar": "^6.1.0",
|
|
51
|
+
"@types/yargs": "^17.0.4",
|
|
52
|
+
"del": "^6.0.0",
|
|
53
|
+
"gts": "^3.1.0",
|
|
54
|
+
"jest": "^27.2.5",
|
|
53
55
|
"protoc": "^1.0.4",
|
|
54
|
-
"source-map": "^0.6.1",
|
|
55
|
-
"ts-
|
|
56
|
-
"ts-
|
|
57
|
-
"
|
|
58
|
-
"
|
|
56
|
+
"source-map-js": "^0.6.1",
|
|
57
|
+
"ts-jest": "^27.0.5",
|
|
58
|
+
"ts-node": "^10.2.1",
|
|
59
|
+
"ts-protoc-gen": "^0.15.0",
|
|
60
|
+
"typescript": "^4.4.3",
|
|
61
|
+
"yargs": "^17.2.1"
|
|
59
62
|
}
|
|
60
63
|
}
|
package/dist/tool/utils.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// MIT-style license that can be found in the LICENSE file or at
|
|
4
4
|
// https://opensource.org/licenses/MIT.
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getJSApi = exports.getDartSassEmbedded = exports.getEmbeddedProtocol = void 0;
|
|
6
7
|
const extractZip = require("extract-zip");
|
|
7
8
|
const fs_1 = require("fs");
|
|
8
9
|
const node_fetch_1 = require("node-fetch");
|
|
@@ -58,10 +59,10 @@ const BUILD_PATH = 'build';
|
|
|
58
59
|
* if an error occurs.
|
|
59
60
|
*/
|
|
60
61
|
async function getEmbeddedProtocol(outPath, options) {
|
|
61
|
-
var _a;
|
|
62
62
|
const repo = 'embedded-protocol';
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
options !== null && options !== void 0 ? options : (options = defaultVersionOption('protocol-version'));
|
|
64
|
+
if ('version' in options) {
|
|
65
|
+
const version = options === null || options === void 0 ? void 0 : options.version;
|
|
65
66
|
await downloadRelease({
|
|
66
67
|
repo,
|
|
67
68
|
assetUrl: `https://github.com/sass/${repo}/archive/${version}${ARCHIVE_EXTENSION}`,
|
|
@@ -78,7 +79,7 @@ async function getEmbeddedProtocol(outPath, options) {
|
|
|
78
79
|
}
|
|
79
80
|
const source = options && 'path' in options ? options.path : p.join(BUILD_PATH, repo);
|
|
80
81
|
buildEmbeddedProtocol(source);
|
|
81
|
-
await
|
|
82
|
+
await link(source, p.join(outPath, repo));
|
|
82
83
|
}
|
|
83
84
|
exports.getEmbeddedProtocol = getEmbeddedProtocol;
|
|
84
85
|
/**
|
|
@@ -91,10 +92,10 @@ exports.getEmbeddedProtocol = getEmbeddedProtocol;
|
|
|
91
92
|
* if an error occurs.
|
|
92
93
|
*/
|
|
93
94
|
async function getDartSassEmbedded(outPath, options) {
|
|
94
|
-
var _a;
|
|
95
95
|
const repo = 'dart-sass-embedded';
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
options !== null && options !== void 0 ? options : (options = defaultVersionOption('compiler-version'));
|
|
97
|
+
if ('version' in options) {
|
|
98
|
+
const version = options === null || options === void 0 ? void 0 : options.version;
|
|
98
99
|
await downloadRelease({
|
|
99
100
|
repo,
|
|
100
101
|
assetUrl: `https://github.com/sass/${repo}/releases/download/` +
|
|
@@ -114,14 +115,38 @@ async function getDartSassEmbedded(outPath, options) {
|
|
|
114
115
|
}
|
|
115
116
|
const source = 'path' in options ? options.path : p.join(BUILD_PATH, repo);
|
|
116
117
|
buildDartSassEmbedded(source);
|
|
117
|
-
await
|
|
118
|
+
await link(p.join(source, 'build'), p.join(outPath, repo));
|
|
118
119
|
}
|
|
119
120
|
exports.getDartSassEmbedded = getDartSassEmbedded;
|
|
121
|
+
/**
|
|
122
|
+
* Checks out JS API type defintions from the Sass language repo.
|
|
123
|
+
*
|
|
124
|
+
* Can check out a Git `ref`, or link to the source at `path`. By default,
|
|
125
|
+
* checks out the latest revision from GitHub.
|
|
126
|
+
*/
|
|
127
|
+
async function getJSApi(outPath, options) {
|
|
128
|
+
var _a;
|
|
129
|
+
const repo = 'sass';
|
|
130
|
+
let source;
|
|
131
|
+
if (!options || 'ref' in options) {
|
|
132
|
+
fetchRepo({
|
|
133
|
+
repo,
|
|
134
|
+
outPath: BUILD_PATH,
|
|
135
|
+
ref: (_a = options === null || options === void 0 ? void 0 : options.ref) !== null && _a !== void 0 ? _a : 'main',
|
|
136
|
+
});
|
|
137
|
+
source = p.join(BUILD_PATH, repo);
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
source = options.path;
|
|
141
|
+
}
|
|
142
|
+
await link(p.join(source, 'js-api-doc'), p.join(outPath, repo));
|
|
143
|
+
}
|
|
144
|
+
exports.getJSApi = getJSApi;
|
|
120
145
|
// Downloads the release for `repo` located at `assetUrl`, then unzips it into
|
|
121
146
|
// `outPath`.
|
|
122
147
|
async function downloadRelease(options) {
|
|
123
148
|
console.log(`Downloading ${options.repo} release asset.`);
|
|
124
|
-
const response = await node_fetch_1.default(options.assetUrl, {
|
|
149
|
+
const response = await (0, node_fetch_1.default)(options.assetUrl, {
|
|
125
150
|
redirect: 'follow',
|
|
126
151
|
});
|
|
127
152
|
if (!response.ok) {
|
|
@@ -138,7 +163,7 @@ async function downloadRelease(options) {
|
|
|
138
163
|
});
|
|
139
164
|
}
|
|
140
165
|
else {
|
|
141
|
-
tar_1.extract({
|
|
166
|
+
(0, tar_1.extract)({
|
|
142
167
|
file: zippedAssetPath,
|
|
143
168
|
cwd: options.outPath,
|
|
144
169
|
sync: true,
|
|
@@ -148,11 +173,11 @@ async function downloadRelease(options) {
|
|
|
148
173
|
}
|
|
149
174
|
// Clones `repo` into `outPath`, then checks out the given Git `ref`.
|
|
150
175
|
function fetchRepo(options) {
|
|
151
|
-
if (!fs_1.existsSync(p.join(options.outPath, options.repo))) {
|
|
176
|
+
if (!(0, fs_1.existsSync)(p.join(options.outPath, options.repo))) {
|
|
152
177
|
console.log(`Cloning ${options.repo} into ${options.outPath}.`);
|
|
153
178
|
shell.exec(`git clone \
|
|
154
179
|
--depth=1 \
|
|
155
|
-
|
|
180
|
+
https://github.com/sass/${options.repo} \
|
|
156
181
|
${p.join(options.outPath, options.repo)}`, { silent: true });
|
|
157
182
|
}
|
|
158
183
|
const version = options.ref === 'main' ? 'latest update' : `commit ${options.ref}`;
|
|
@@ -191,16 +216,23 @@ function buildDartSassEmbedded(repoPath) {
|
|
|
191
216
|
silent: true,
|
|
192
217
|
});
|
|
193
218
|
}
|
|
194
|
-
//
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
219
|
+
// Given the name of a field in `package.json`, returns the default version
|
|
220
|
+
// option described by that field.
|
|
221
|
+
function defaultVersionOption(pkgField) {
|
|
222
|
+
const version = pkg[pkgField];
|
|
223
|
+
return version.endsWith('-dev') ? { ref: 'main' } : { version };
|
|
224
|
+
}
|
|
225
|
+
// Links or copies the contents of `source` into `destination`.
|
|
226
|
+
async function link(source, destination) {
|
|
227
|
+
await cleanDir(destination);
|
|
198
228
|
if (OS === 'windows') {
|
|
199
|
-
|
|
229
|
+
console.log(`Copying ${source} into ${destination}.`);
|
|
230
|
+
shell.cp('-R', source, destination);
|
|
200
231
|
}
|
|
201
232
|
else {
|
|
233
|
+
console.log(`Linking ${source} into ${destination}.`);
|
|
202
234
|
// Symlinking doesn't play nice with Jasmine's test globbing on Windows.
|
|
203
|
-
fs_1.promises.symlink(p.resolve(
|
|
235
|
+
fs_1.promises.symlink(p.resolve(source), destination);
|
|
204
236
|
}
|
|
205
237
|
}
|
|
206
238
|
// Ensures that `dir` does not exist, but its parent directory does.
|
package/dist/tool/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../tool/utils.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../tool/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import {RawSourceMap} from 'source-map-js';
|
|
2
|
+
|
|
3
|
+
import {Options, StringOptions} from './options';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The result of compiling Sass to CSS. Returned by [[compile]],
|
|
7
|
+
* [[compileAsync]], [[compileString]], and [[compileStringAsync]].
|
|
8
|
+
*
|
|
9
|
+
* @category Compile
|
|
10
|
+
*/
|
|
11
|
+
export interface CompileResult {
|
|
12
|
+
/**
|
|
13
|
+
* The generated CSS.
|
|
14
|
+
*
|
|
15
|
+
* Note that this *never* includes a `sourceMapUrl` comment—it's up to the
|
|
16
|
+
* caller to determine where to save the source map and how to link to it from
|
|
17
|
+
* the stylesheet.
|
|
18
|
+
*/
|
|
19
|
+
css: string;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The canonical URLs of all the stylesheets that were loaded during the
|
|
23
|
+
* Sass compilation. The order of these URLs is not guaranteed.
|
|
24
|
+
*/
|
|
25
|
+
loadedUrls: URL[];
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The object representation of the source map that maps locations in the
|
|
29
|
+
* generated CSS back to locations in the Sass source code.
|
|
30
|
+
*
|
|
31
|
+
* This typically uses absolute `file:` URLs to refer to Sass files, although
|
|
32
|
+
* this can be controlled by having a custom [[Importer]] return
|
|
33
|
+
* [[ImporterResult.sourceMapUrl]].
|
|
34
|
+
*
|
|
35
|
+
* This is set if and only if [[Options.sourceMap]] is `true`.
|
|
36
|
+
*/
|
|
37
|
+
sourceMap?: RawSourceMap;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Synchronously compiles the Sass file at `path` to CSS. If it succeeds it
|
|
42
|
+
* returns a [[CompileResult]], and if it fails it throws an [[Exception]].
|
|
43
|
+
*
|
|
44
|
+
* This only allows synchronous [[Importer]]s and [[CustomFunction]]s.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
*
|
|
48
|
+
* ```js
|
|
49
|
+
* const sass = require('sass');
|
|
50
|
+
*
|
|
51
|
+
* const result = sass.compile("style.scss");
|
|
52
|
+
* console.log(result.css);
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @category Compile
|
|
56
|
+
* @compatibility dart: "1.45.0", node: false
|
|
57
|
+
*/
|
|
58
|
+
export function compile(path: string, options?: Options<'sync'>): CompileResult;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Asynchronously compiles the Sass file at `path` to CSS. Returns a promise
|
|
62
|
+
* that resolves with a [[CompileResult]] if it succeeds and rejects with an
|
|
63
|
+
* [[Exception]] if it fails.
|
|
64
|
+
*
|
|
65
|
+
* This only allows synchronous or asynchronous [[Importer]]s and
|
|
66
|
+
* [[CustomFunction]]s.
|
|
67
|
+
*
|
|
68
|
+
* **Heads up!** When using Dart Sass, **[[compile]] is almost twice as fast as
|
|
69
|
+
* [[compileAsync]]**, due to the overhead of making the entire evaluation
|
|
70
|
+
* process asynchronous.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
*
|
|
74
|
+
* ```js
|
|
75
|
+
* const sass = require('sass');
|
|
76
|
+
*
|
|
77
|
+
* const result = await sass.compileAsync("style.scss");
|
|
78
|
+
* console.log(result.css);
|
|
79
|
+
* ```
|
|
80
|
+
*
|
|
81
|
+
* @category Compile
|
|
82
|
+
* @compatibility dart: "1.45.0", node: false
|
|
83
|
+
*/
|
|
84
|
+
export function compileAsync(
|
|
85
|
+
path: string,
|
|
86
|
+
options?: Options<'async'>
|
|
87
|
+
): Promise<CompileResult>;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Synchronously compiles a stylesheet whose contents is `source` to CSS. If it
|
|
91
|
+
* succeeds it returns a [[CompileResult]], and if it fails it throws an
|
|
92
|
+
* [[Exception]].
|
|
93
|
+
*
|
|
94
|
+
* This only allows synchronous [[Importer]]s and [[CustomFunction]]s.
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
*
|
|
98
|
+
* ```js
|
|
99
|
+
* const sass = require('sass');
|
|
100
|
+
*
|
|
101
|
+
* const result = sass.compileString(`
|
|
102
|
+
* h1 {
|
|
103
|
+
* font-size: 40px;
|
|
104
|
+
* code {
|
|
105
|
+
* font-face: Roboto Mono;
|
|
106
|
+
* }
|
|
107
|
+
* }`);
|
|
108
|
+
* console.log(result.css);
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* @category Compile
|
|
112
|
+
* @compatibility dart: "1.45.0", node: false
|
|
113
|
+
*/
|
|
114
|
+
export function compileString(
|
|
115
|
+
source: string,
|
|
116
|
+
options?: StringOptions<'sync'>
|
|
117
|
+
): CompileResult;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Asynchronously compiles a stylesheet whose contents is `source` to CSS.
|
|
121
|
+
* Returns a promise that resolves with a [[CompileResult]] if it succeeds and
|
|
122
|
+
* rejects with an [[Exception]] if it fails.
|
|
123
|
+
*
|
|
124
|
+
* This only allows synchronous or asynchronous [[Importer]]s and
|
|
125
|
+
* [[CustomFunction]]s.
|
|
126
|
+
*
|
|
127
|
+
* **Heads up!** When using Dart Sass, **[[compile]] is almost twice as fast as
|
|
128
|
+
* [[compileAsync]]**, due to the overhead of making the entire evaluation
|
|
129
|
+
* process asynchronous.
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
*
|
|
133
|
+
* ```js
|
|
134
|
+
* const sass = require('sass');
|
|
135
|
+
*
|
|
136
|
+
* const result = await sass.compileStringAsync(`
|
|
137
|
+
* h1 {
|
|
138
|
+
* font-size: 40px;
|
|
139
|
+
* code {
|
|
140
|
+
* font-face: Roboto Mono;
|
|
141
|
+
* }
|
|
142
|
+
* }`);
|
|
143
|
+
* console.log(result.css);
|
|
144
|
+
* ```
|
|
145
|
+
*
|
|
146
|
+
* @category Compile
|
|
147
|
+
* @compatibility dart: "1.45.0", node: false
|
|
148
|
+
*/
|
|
149
|
+
export function compileStringAsync(
|
|
150
|
+
source: string,
|
|
151
|
+
options?: StringOptions<'async'>
|
|
152
|
+
): Promise<CompileResult>;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import {SourceSpan} from './logger';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* An exception thrown because a Sass compilation failed.
|
|
5
|
+
*
|
|
6
|
+
* @category Other
|
|
7
|
+
*/
|
|
8
|
+
export class Exception extends Error {
|
|
9
|
+
private constructor();
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* A human-friendly representation of the exception.
|
|
13
|
+
*
|
|
14
|
+
* Because many tools simply print `Error.message` directly, this includes not
|
|
15
|
+
* only the textual description of what went wrong (the [[sassMessage]]) but
|
|
16
|
+
* also an indication of where in the Sass stylesheet the error occurred (the
|
|
17
|
+
* [[span]]) and the Sass stack trace at the point of error (the
|
|
18
|
+
* [[sassStack]]).
|
|
19
|
+
*/
|
|
20
|
+
message: string;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A textual description of what went wrong.
|
|
24
|
+
*
|
|
25
|
+
* Unlike [[message]], this does *not* include representations of [[span]] or
|
|
26
|
+
* [[sassStack]].
|
|
27
|
+
*/
|
|
28
|
+
readonly sassMessage: string;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* A human-friendly representation of the Sass stack trace at the point of
|
|
32
|
+
* error.
|
|
33
|
+
*/
|
|
34
|
+
readonly sassStack: string;
|
|
35
|
+
|
|
36
|
+
/** The location the error occurred in the Sass file that triggered it. */
|
|
37
|
+
readonly span: SourceSpan;
|
|
38
|
+
|
|
39
|
+
/** Returns the same string as [[message]]. */
|
|
40
|
+
toString(): string;
|
|
41
|
+
}
|