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.
Files changed (150) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/.gitignore +1 -0
  3. package/dist/lib/index.js +40 -11
  4. package/dist/lib/index.js.map +1 -1
  5. package/dist/lib/src/{embedded-compiler/compiler.js → async-compiler.js} +13 -13
  6. package/dist/lib/src/async-compiler.js.map +1 -0
  7. package/dist/lib/src/compile.js +187 -85
  8. package/dist/lib/src/compile.js.map +1 -1
  9. package/dist/lib/src/compiler-path.js +18 -0
  10. package/dist/lib/src/compiler-path.js.map +1 -0
  11. package/dist/lib/src/deprotofy-span.js +51 -0
  12. package/dist/lib/src/deprotofy-span.js.map +1 -0
  13. package/dist/lib/src/{embedded-protocol/dispatcher.js → dispatcher.js} +47 -41
  14. package/dist/lib/src/dispatcher.js.map +1 -0
  15. package/dist/lib/src/exception.js +20 -0
  16. package/dist/lib/src/exception.js.map +1 -0
  17. package/dist/lib/src/function-registry.js +92 -0
  18. package/dist/lib/src/function-registry.js.map +1 -0
  19. package/dist/lib/src/importer-registry.js +127 -0
  20. package/dist/lib/src/importer-registry.js.map +1 -0
  21. package/dist/lib/src/legacy/importer.js +186 -0
  22. package/dist/lib/src/legacy/importer.js.map +1 -0
  23. package/dist/lib/src/legacy/index.js +261 -0
  24. package/dist/lib/src/legacy/index.js.map +1 -0
  25. package/dist/lib/src/legacy/resolve-path.js +101 -0
  26. package/dist/lib/src/legacy/resolve-path.js.map +1 -0
  27. package/dist/lib/src/legacy/value/base.js +17 -0
  28. package/dist/lib/src/legacy/value/base.js.map +1 -0
  29. package/dist/lib/src/legacy/value/color.js +64 -0
  30. package/dist/lib/src/legacy/value/color.js.map +1 -0
  31. package/dist/lib/src/legacy/value/index.js +23 -0
  32. package/dist/lib/src/legacy/value/index.js.map +1 -0
  33. package/dist/lib/src/legacy/value/list.js +50 -0
  34. package/dist/lib/src/legacy/value/list.js.map +1 -0
  35. package/dist/lib/src/legacy/value/map.js +74 -0
  36. package/dist/lib/src/legacy/value/map.js.map +1 -0
  37. package/dist/lib/src/legacy/value/number.js +60 -0
  38. package/dist/lib/src/legacy/value/number.js.map +1 -0
  39. package/dist/lib/src/legacy/value/string.js +27 -0
  40. package/dist/lib/src/legacy/value/string.js.map +1 -0
  41. package/dist/lib/src/legacy/value/wrap.js +83 -0
  42. package/dist/lib/src/legacy/value/wrap.js.map +1 -0
  43. package/dist/lib/src/{embedded-protocol/message-transformer.js → message-transformer.js} +11 -10
  44. package/dist/lib/src/message-transformer.js.map +1 -0
  45. package/dist/lib/src/{embedded-compiler/packet-transformer.js → packet-transformer.js} +2 -1
  46. package/dist/lib/src/packet-transformer.js.map +1 -0
  47. package/dist/lib/src/protofier.js +272 -0
  48. package/dist/lib/src/protofier.js.map +1 -0
  49. package/dist/lib/src/{embedded-protocol/request-tracker.js → request-tracker.js} +1 -0
  50. package/dist/lib/src/request-tracker.js.map +1 -0
  51. package/dist/lib/src/sync-compiler.js +52 -0
  52. package/dist/lib/src/sync-compiler.js.map +1 -0
  53. package/dist/lib/src/{exception/span.js → sync-process/event.js} +2 -2
  54. package/dist/lib/src/sync-process/event.js.map +1 -0
  55. package/dist/lib/src/sync-process/index.js +122 -0
  56. package/dist/lib/src/sync-process/index.js.map +1 -0
  57. package/dist/lib/src/sync-process/sync-message-port.js +128 -0
  58. package/dist/lib/src/sync-process/sync-message-port.js.map +1 -0
  59. package/dist/lib/src/sync-process/worker.js +51 -0
  60. package/dist/lib/src/sync-process/worker.js.map +1 -0
  61. package/dist/lib/src/utils.js +96 -1
  62. package/dist/lib/src/utils.js.map +1 -1
  63. package/dist/lib/src/value/argument-list.js +31 -0
  64. package/dist/lib/src/value/argument-list.js.map +1 -0
  65. package/dist/lib/src/value/boolean.js +22 -5
  66. package/dist/lib/src/value/boolean.js.map +1 -1
  67. package/dist/lib/src/value/color.js +258 -0
  68. package/dist/lib/src/value/color.js.map +1 -0
  69. package/dist/lib/src/value/function.js +34 -0
  70. package/dist/lib/src/value/function.js.map +1 -0
  71. package/dist/lib/src/value/{value.js → index.js} +28 -14
  72. package/dist/lib/src/value/index.js.map +1 -0
  73. package/dist/lib/src/value/list.js +99 -0
  74. package/dist/lib/src/value/list.js.map +1 -0
  75. package/dist/lib/src/value/map.js +91 -0
  76. package/dist/lib/src/value/map.js.map +1 -0
  77. package/dist/lib/src/value/null.js +16 -3
  78. package/dist/lib/src/value/null.js.map +1 -1
  79. package/dist/lib/src/value/number.js +41 -46
  80. package/dist/lib/src/value/number.js.map +1 -1
  81. package/dist/lib/src/value/string.js +18 -12
  82. package/dist/lib/src/value/string.js.map +1 -1
  83. package/dist/lib/src/value/utils.js +27 -2
  84. package/dist/lib/src/value/utils.js.map +1 -1
  85. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js +1395 -101
  86. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js.map +1 -1
  87. package/dist/package.json +23 -20
  88. package/dist/tool/utils.js +50 -18
  89. package/dist/tool/utils.js.map +1 -1
  90. package/dist/types/compile.d.ts +152 -0
  91. package/dist/types/exception.d.ts +41 -0
  92. package/dist/types/importer.d.ts +294 -0
  93. package/dist/types/index.d.ts +80 -0
  94. package/dist/types/legacy/exception.d.ts +54 -0
  95. package/dist/types/legacy/function.d.ts +756 -0
  96. package/dist/types/legacy/importer.d.ts +168 -0
  97. package/dist/types/legacy/options.d.ts +642 -0
  98. package/dist/types/legacy/plugin_this.d.ts +73 -0
  99. package/dist/types/legacy/render.d.ts +139 -0
  100. package/dist/types/logger/index.d.ts +94 -0
  101. package/dist/types/logger/source_location.d.ts +21 -0
  102. package/dist/types/logger/source_span.d.ts +34 -0
  103. package/dist/types/options.d.ts +418 -0
  104. package/dist/types/util/promise_or.d.ts +17 -0
  105. package/dist/types/value/argument_list.d.ts +47 -0
  106. package/dist/types/value/boolean.d.ts +29 -0
  107. package/dist/types/value/color.d.ts +107 -0
  108. package/dist/types/value/function.d.ts +22 -0
  109. package/dist/types/value/index.d.ts +173 -0
  110. package/dist/types/value/list.d.ts +54 -0
  111. package/dist/types/value/map.d.ts +41 -0
  112. package/dist/types/value/number.d.ts +305 -0
  113. package/dist/types/value/string.d.ts +84 -0
  114. package/package.json +23 -20
  115. package/dist/lib/index.d.ts +0 -7
  116. package/dist/lib/src/compile.d.ts +0 -20
  117. package/dist/lib/src/embedded-compiler/compiler.d.ts +0 -19
  118. package/dist/lib/src/embedded-compiler/compiler.js.map +0 -1
  119. package/dist/lib/src/embedded-compiler/packet-transformer.d.ts +0 -34
  120. package/dist/lib/src/embedded-compiler/packet-transformer.js.map +0 -1
  121. package/dist/lib/src/embedded-protocol/dispatcher.d.ts +0 -60
  122. package/dist/lib/src/embedded-protocol/dispatcher.js.map +0 -1
  123. package/dist/lib/src/embedded-protocol/message-transformer.d.ts +0 -47
  124. package/dist/lib/src/embedded-protocol/message-transformer.js.map +0 -1
  125. package/dist/lib/src/embedded-protocol/request-tracker.d.ts +0 -20
  126. package/dist/lib/src/embedded-protocol/request-tracker.js.map +0 -1
  127. package/dist/lib/src/embedded-protocol/utils.d.ts +0 -7
  128. package/dist/lib/src/embedded-protocol/utils.js +0 -52
  129. package/dist/lib/src/embedded-protocol/utils.js.map +0 -1
  130. package/dist/lib/src/exception/exception.d.ts +0 -19
  131. package/dist/lib/src/exception/exception.js +0 -36
  132. package/dist/lib/src/exception/exception.js.map +0 -1
  133. package/dist/lib/src/exception/location.d.ts +0 -11
  134. package/dist/lib/src/exception/location.js +0 -6
  135. package/dist/lib/src/exception/location.js.map +0 -1
  136. package/dist/lib/src/exception/span.d.ts +0 -29
  137. package/dist/lib/src/exception/span.js.map +0 -1
  138. package/dist/lib/src/node-sass/render.d.ts +0 -60
  139. package/dist/lib/src/node-sass/render.js +0 -126
  140. package/dist/lib/src/node-sass/render.js.map +0 -1
  141. package/dist/lib/src/utils.d.ts +0 -12
  142. package/dist/lib/src/value/boolean.d.ts +0 -25
  143. package/dist/lib/src/value/null.d.ts +0 -12
  144. package/dist/lib/src/value/number.d.ts +0 -189
  145. package/dist/lib/src/value/string.d.ts +0 -56
  146. package/dist/lib/src/value/utils.d.ts +0 -36
  147. package/dist/lib/src/value/value.d.ts +0 -103
  148. package/dist/lib/src/value/value.js.map +0 -1
  149. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.d.ts +0 -1
  150. 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-beta.4",
4
- "protocol-version": "1.0.0-beta.11",
5
- "compiler-version": "1.0.0-beta.9",
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/lib/index.d.ts",
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": "ts-node ./node_modules/jasmine/bin/jasmine"
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-rc.12",
33
+ "immutable": "^4.0.0",
34
34
  "node-fetch": "^2.6.0",
35
- "rxjs": "^6.5.5",
36
- "semver": "^5.7.1",
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/jasmine": "^3.5.11",
44
- "@types/node": "^12.18.2",
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/tar": "^4.0.3",
49
- "@types/yargs": "^15.0.12",
50
- "gts": "^2.0.2",
51
- "jasmine": "^3.5.0",
52
- "jasmine-spec-reporter": "^5.0.2",
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-node": "^8.10.2",
56
- "ts-protoc-gen": "^0.12.0",
57
- "typescript": "~3.8.0",
58
- "yargs": "^16.2.0"
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
  }
@@ -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
- if (!options || 'version' in options) {
64
- const version = (_a = options === null || options === void 0 ? void 0 : options.version) !== null && _a !== void 0 ? _a : pkg['protocol-version'];
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 linkBuiltFiles(source, p.join(outPath, repo));
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
- if (!options || 'version' in options) {
97
- const version = (_a = options === null || options === void 0 ? void 0 : options.version) !== null && _a !== void 0 ? _a : pkg['compiler-version'];
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 linkBuiltFiles(p.join(source, 'build'), p.join(outPath, repo));
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
- git://github.com/sass/${options.repo} \
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
- // Links the built files at `builtPath` into `outPath`.
195
- async function linkBuiltFiles(builtPath, outPath) {
196
- console.log(`Linking built files into ${outPath}.`);
197
- await cleanDir(outPath);
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
- shell.cp('-R', builtPath, outPath);
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(builtPath), outPath);
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.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../tool/utils.ts"],"names":[],"mappings":"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"}
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
+ }