Skip to content
This repository was archived by the owner on May 15, 2023. It is now read-only.

Commit c80320f

Browse files
authored
Set CompileSuccess.loaded_urls (#50)
1 parent b402a20 commit c80320f

File tree

3 files changed

+13
-17
lines changed

3 files changed

+13
-17
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@
44
* Support `VersionRequest` and `VersionResponse`.
55
* Support `CompileRequest.quiet_deps` and `.verbose`.
66
* Set `CanonicalizeRequest.from_import`.
7+
* Set `CompileSuccess.loaded_urls`.
78

89
* Properly throw errors for range checks for colors.

bin/dart_sass_embedded.dart

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import 'dart:io';
66
import 'dart:convert';
77

88
import 'package:sass/sass.dart' as sass;
9-
import 'package:source_maps/source_maps.dart' as source_maps;
109
import 'package:stream_channel/stream_channel.dart';
1110

1211
import 'package:sass_embedded/src/dispatcher.dart';
@@ -42,23 +41,18 @@ void main(List<String> args) {
4241
color: request.alertColor, ascii: request.alertAscii);
4342

4443
try {
45-
String result;
46-
source_maps.SingleMapping? sourceMap;
47-
var sourceMapCallback = request.sourceMap
48-
? (source_maps.SingleMapping map) => sourceMap = map
49-
: null;
50-
5144
var importers = request.importers.map((importer) =>
5245
_decodeImporter(dispatcher, request, importer) ??
5346
(throw mandatoryError("Importer.importer")));
5447

5548
var globalFunctions = request.globalFunctions.map((signature) =>
5649
hostCallable(dispatcher, functions, request.id, signature));
5750

51+
late sass.CompileResult result;
5852
switch (request.whichInput()) {
5953
case InboundMessage_CompileRequest_Input.string:
6054
var input = request.string;
61-
result = sass.compileString(input.source,
55+
result = sass.compileStringToResult(input.source,
6256
color: request.alertColor,
6357
logger: logger,
6458
importers: importers,
@@ -69,20 +63,20 @@ void main(List<String> args) {
6963
url: input.url.isEmpty ? null : input.url,
7064
quietDeps: request.quietDeps,
7165
verbose: request.verbose,
72-
sourceMap: sourceMapCallback);
66+
sourceMap: request.sourceMap);
7367
break;
7468

7569
case InboundMessage_CompileRequest_Input.path:
7670
try {
77-
result = sass.compile(request.path,
71+
result = sass.compileToResult(request.path,
7872
color: request.alertColor,
7973
logger: logger,
8074
importers: importers,
8175
functions: globalFunctions,
8276
style: style,
8377
quietDeps: request.quietDeps,
8478
verbose: request.verbose,
85-
sourceMap: sourceMapCallback);
79+
sourceMap: request.sourceMap);
8680
} on FileSystemException catch (error) {
8781
return OutboundMessage_CompileResponse()
8882
..failure = (OutboundMessage_CompileResponse_CompileFailure()
@@ -97,10 +91,12 @@ void main(List<String> args) {
9791
}
9892

9993
var success = OutboundMessage_CompileResponse_CompileSuccess()
100-
..css = result;
94+
..css = result.css
95+
..loadedUrls.addAll(result.loadedUrls.map((url) => url.toString()));
96+
97+
var sourceMap = result.sourceMap;
10198
if (sourceMap != null) {
102-
// dart-lang/language#1536
103-
success.sourceMap = json.encode(sourceMap!.toJson());
99+
success.sourceMap = json.encode(sourceMap.toJson());
104100
}
105101
return OutboundMessage_CompileResponse()..success = success;
106102
} on sass.SassException catch (error) {

pubspec.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: sass_embedded
2-
version: 1.0.0-dev
2+
version: 1.0.0-beta.8
33
description: An implementation of the Sass embedded protocol using Dart Sass.
44
author: Sass Team
55
homepage: https://github.com/sass/dart-sass-embedded
@@ -14,8 +14,7 @@ dependencies:
1414
async: ">=1.13.0 <3.0.0"
1515
meta: ^1.1.0
1616
protobuf: ^2.0.0
17-
sass: ^1.34.0
18-
source_maps: ^0.10.5
17+
sass: ^1.36.0
1918
source_span: ^1.1.0
2019
stack_trace: ^1.6.0
2120
stream_channel: ">=1.6.0 <3.0.0"

0 commit comments

Comments
 (0)