sass-embedded 1.0.0-beta.5 → 1.0.0-beta.7

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 (124) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/.gitignore +1 -1
  3. package/dist/lib/index.js +11 -4
  4. package/dist/lib/index.js.map +1 -1
  5. package/dist/lib/src/{embedded-compiler/compiler.js → async-compiler.js} +9 -17
  6. package/dist/lib/src/async-compiler.js.map +1 -0
  7. package/dist/lib/src/compile.js +167 -79
  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/{embedded-protocol/utils.js → deprotofy-span.js} +16 -18
  12. package/dist/lib/src/deprotofy-span.js.map +1 -0
  13. package/dist/lib/src/{embedded-protocol/dispatcher.js → dispatcher.js} +45 -40
  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 +81 -0
  18. package/dist/lib/src/function-registry.js.map +1 -0
  19. package/dist/lib/src/{node-sass/render.js → legacy.js} +45 -39
  20. package/dist/lib/src/legacy.js.map +1 -0
  21. package/dist/lib/src/{embedded-protocol/message-transformer.js → message-transformer.js} +2 -2
  22. package/dist/lib/src/message-transformer.js.map +1 -0
  23. package/dist/lib/src/{embedded-compiler/packet-transformer.js → packet-transformer.js} +0 -0
  24. package/dist/lib/src/packet-transformer.js.map +1 -0
  25. package/dist/lib/src/protofier.js +205 -0
  26. package/dist/lib/src/protofier.js.map +1 -0
  27. package/dist/lib/src/{embedded-protocol/request-tracker.js → request-tracker.js} +0 -0
  28. package/dist/lib/src/request-tracker.js.map +1 -0
  29. package/dist/lib/src/sync-compiler.js +52 -0
  30. package/dist/lib/src/sync-compiler.js.map +1 -0
  31. package/dist/lib/src/{exception/span.js → sync-process/event.js} +2 -2
  32. package/dist/lib/src/sync-process/event.js.map +1 -0
  33. package/dist/lib/src/sync-process/index.js +122 -0
  34. package/dist/lib/src/sync-process/index.js.map +1 -0
  35. package/dist/lib/src/sync-process/sync-message-port.js +128 -0
  36. package/dist/lib/src/sync-process/sync-message-port.js.map +1 -0
  37. package/dist/lib/src/sync-process/worker.js +51 -0
  38. package/dist/lib/src/sync-process/worker.js.map +1 -0
  39. package/dist/lib/src/utils.js +43 -1
  40. package/dist/lib/src/utils.js.map +1 -1
  41. package/dist/lib/src/value/boolean.js +3 -3
  42. package/dist/lib/src/value/boolean.js.map +1 -1
  43. package/dist/lib/src/value/color.js +89 -98
  44. package/dist/lib/src/value/color.js.map +1 -1
  45. package/dist/lib/src/value/{value.js → index.js} +5 -1
  46. package/dist/lib/src/value/index.js.map +1 -0
  47. package/dist/lib/src/value/list.js +15 -18
  48. package/dist/lib/src/value/list.js.map +1 -1
  49. package/dist/lib/src/value/map.js +17 -10
  50. package/dist/lib/src/value/map.js.map +1 -1
  51. package/dist/lib/src/value/null.js +2 -2
  52. package/dist/lib/src/value/number.js +20 -26
  53. package/dist/lib/src/value/number.js.map +1 -1
  54. package/dist/lib/src/value/string.js +14 -9
  55. package/dist/lib/src/value/string.js.map +1 -1
  56. package/dist/lib/src/value/utils.js +7 -1
  57. package/dist/lib/src/value/utils.js.map +1 -1
  58. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js +1395 -101
  59. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.js.map +1 -1
  60. package/dist/package.json +6 -4
  61. package/dist/tool/utils.js +34 -9
  62. package/dist/tool/utils.js.map +1 -1
  63. package/dist/types/compile.d.ts +152 -0
  64. package/dist/types/exception.d.ts +41 -0
  65. package/dist/types/importer.d.ts +294 -0
  66. package/dist/types/index.d.ts +76 -0
  67. package/dist/types/legacy/exception.d.ts +54 -0
  68. package/dist/types/legacy/function.d.ts +652 -0
  69. package/dist/types/legacy/importer.d.ts +168 -0
  70. package/dist/types/legacy/options.d.ts +642 -0
  71. package/dist/types/legacy/plugin_this.d.ts +70 -0
  72. package/dist/types/legacy/render.d.ts +139 -0
  73. package/dist/types/logger/index.d.ts +94 -0
  74. package/dist/types/logger/source_location.d.ts +21 -0
  75. package/dist/types/logger/source_span.d.ts +34 -0
  76. package/dist/types/options.d.ts +408 -0
  77. package/dist/types/util/promise_or.d.ts +17 -0
  78. package/dist/types/value/argument_list.d.ts +47 -0
  79. package/dist/types/value/boolean.d.ts +29 -0
  80. package/dist/types/value/color.d.ts +107 -0
  81. package/dist/types/value/function.d.ts +22 -0
  82. package/dist/types/value/index.d.ts +173 -0
  83. package/dist/types/value/list.d.ts +54 -0
  84. package/dist/types/value/map.d.ts +41 -0
  85. package/dist/types/value/number.d.ts +305 -0
  86. package/dist/types/value/string.d.ts +84 -0
  87. package/package.json +6 -4
  88. package/dist/lib/index.d.ts +0 -10
  89. package/dist/lib/src/compile.d.ts +0 -22
  90. package/dist/lib/src/embedded-compiler/compiler.d.ts +0 -19
  91. package/dist/lib/src/embedded-compiler/compiler.js.map +0 -1
  92. package/dist/lib/src/embedded-compiler/packet-transformer.d.ts +0 -34
  93. package/dist/lib/src/embedded-compiler/packet-transformer.js.map +0 -1
  94. package/dist/lib/src/embedded-protocol/dispatcher.d.ts +0 -60
  95. package/dist/lib/src/embedded-protocol/dispatcher.js.map +0 -1
  96. package/dist/lib/src/embedded-protocol/message-transformer.d.ts +0 -47
  97. package/dist/lib/src/embedded-protocol/message-transformer.js.map +0 -1
  98. package/dist/lib/src/embedded-protocol/request-tracker.d.ts +0 -20
  99. package/dist/lib/src/embedded-protocol/request-tracker.js.map +0 -1
  100. package/dist/lib/src/embedded-protocol/utils.d.ts +0 -7
  101. package/dist/lib/src/embedded-protocol/utils.js.map +0 -1
  102. package/dist/lib/src/exception/exception.d.ts +0 -19
  103. package/dist/lib/src/exception/exception.js +0 -37
  104. package/dist/lib/src/exception/exception.js.map +0 -1
  105. package/dist/lib/src/exception/location.d.ts +0 -11
  106. package/dist/lib/src/exception/location.js +0 -6
  107. package/dist/lib/src/exception/location.js.map +0 -1
  108. package/dist/lib/src/exception/span.d.ts +0 -29
  109. package/dist/lib/src/exception/span.js.map +0 -1
  110. package/dist/lib/src/node-sass/render.d.ts +0 -61
  111. package/dist/lib/src/node-sass/render.js.map +0 -1
  112. package/dist/lib/src/utils.d.ts +0 -16
  113. package/dist/lib/src/value/boolean.d.ts +0 -25
  114. package/dist/lib/src/value/color.d.ts +0 -89
  115. package/dist/lib/src/value/list.d.ts +0 -41
  116. package/dist/lib/src/value/map.d.ts +0 -26
  117. package/dist/lib/src/value/null.d.ts +0 -12
  118. package/dist/lib/src/value/number.d.ts +0 -189
  119. package/dist/lib/src/value/string.d.ts +0 -56
  120. package/dist/lib/src/value/utils.d.ts +0 -44
  121. package/dist/lib/src/value/value.d.ts +0 -108
  122. package/dist/lib/src/value/value.js.map +0 -1
  123. package/dist/lib/src/vendor/embedded-protocol/embedded_sass_pb.d.ts +0 -1
  124. package/dist/tool/utils.d.ts +0 -32
@@ -6,8 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Dispatcher = void 0;
7
7
  const rxjs_1 = require("rxjs");
8
8
  const operators_1 = require("rxjs/operators");
9
- const embedded_sass_pb_1 = require("../vendor/embedded-protocol/embedded_sass_pb");
9
+ const embedded_sass_pb_1 = require("./vendor/embedded-protocol/embedded_sass_pb");
10
10
  const request_tracker_1 = require("./request-tracker");
11
+ const utils_1 = require("./utils");
11
12
  /**
12
13
  * Dispatches requests, responses, and events.
13
14
  *
@@ -57,9 +58,11 @@ class Dispatcher {
57
58
  */
58
59
  this.logEvents$ = this.messages$.pipe((0, operators_1.filter)(message => message.type === embedded_sass_pb_1.OutboundMessage.MessageCase.LOG_EVENT), (0, operators_1.map)(message => message.payload));
59
60
  this.outboundMessages$
60
- .pipe((0, operators_1.mergeMap)(async (message) => {
61
- await this.handleOutboundMessage(message);
62
- return message;
61
+ .pipe((0, operators_1.mergeMap)(message => {
62
+ const result = this.handleOutboundMessage(message);
63
+ return result instanceof Promise
64
+ ? result.then(() => message)
65
+ : [message];
63
66
  }))
64
67
  .subscribe(message => this.messages$.next(message), error => this.throwAndClose(error), () => {
65
68
  this.messages$.complete();
@@ -67,12 +70,15 @@ class Dispatcher {
67
70
  });
68
71
  }
69
72
  /**
70
- * Sends a CompileRequest inbound. Returns a promise that will either resolve
71
- * with the corresponding outbound CompileResponse, or error if any Protocol
72
- * Errors were encountered.
73
+ * Sends a CompileRequest inbound. Passes the corresponding outbound
74
+ * CompileResponse or an error to `callback`.
75
+ *
76
+ * This uses an old-style callback argument so that it can work either
77
+ * synchronously or asynchronously. If the underlying stdout stream emits
78
+ * events synchronously, `callback` will be called synchronously.
73
79
  */
74
- sendCompileRequest(request) {
75
- return this.handleInboundRequest(request, embedded_sass_pb_1.InboundMessage.MessageCase.COMPILE_REQUEST, embedded_sass_pb_1.OutboundMessage.MessageCase.COMPILE_RESPONSE);
80
+ sendCompileRequest(request, callback) {
81
+ this.handleInboundRequest(request, embedded_sass_pb_1.InboundMessage.MessageCase.COMPILE_REQUEST, embedded_sass_pb_1.OutboundMessage.MessageCase.COMPILE_RESPONSE, callback);
76
82
  }
77
83
  // Rejects with `error` all promises awaiting an outbound response, and
78
84
  // silently closes all subscriptions awaiting outbound events.
@@ -84,48 +90,48 @@ class Dispatcher {
84
90
  // request or response, registers it with pendingOutboundRequests. If it
85
91
  // contains a request, runs the appropriate callback to generate an inbound
86
92
  // response, and then sends it inbound.
87
- async handleOutboundMessage(message) {
93
+ handleOutboundMessage(message) {
88
94
  switch (message.type) {
89
95
  case embedded_sass_pb_1.OutboundMessage.MessageCase.LOG_EVENT:
90
- break;
96
+ return undefined;
91
97
  case embedded_sass_pb_1.OutboundMessage.MessageCase.COMPILE_RESPONSE:
92
98
  this.pendingInboundRequests.resolve(message.payload.getId(), message.type);
93
- break;
99
+ return undefined;
94
100
  case embedded_sass_pb_1.OutboundMessage.MessageCase.IMPORT_REQUEST: {
95
101
  const request = message.payload;
96
102
  const id = request.getId();
97
103
  const type = embedded_sass_pb_1.InboundMessage.MessageCase.IMPORT_RESPONSE;
98
104
  this.pendingOutboundRequests.add(id, type);
99
- const response = await this.outboundRequestHandlers.handleImportRequest(request);
100
- this.sendInboundMessage(id, response, type);
101
- break;
105
+ return (0, utils_1.thenOr)(this.outboundRequestHandlers.handleImportRequest(request), response => {
106
+ this.sendInboundMessage(id, response, type);
107
+ });
102
108
  }
103
109
  case embedded_sass_pb_1.OutboundMessage.MessageCase.FILE_IMPORT_REQUEST: {
104
110
  const request = message.payload;
105
111
  const id = request.getId();
106
112
  const type = embedded_sass_pb_1.InboundMessage.MessageCase.FILE_IMPORT_RESPONSE;
107
113
  this.pendingOutboundRequests.add(id, type);
108
- const response = await this.outboundRequestHandlers.handleFileImportRequest(request);
109
- this.sendInboundMessage(id, response, type);
110
- break;
114
+ return (0, utils_1.thenOr)(this.outboundRequestHandlers.handleFileImportRequest(request), response => {
115
+ this.sendInboundMessage(id, response, type);
116
+ });
111
117
  }
112
118
  case embedded_sass_pb_1.OutboundMessage.MessageCase.CANONICALIZE_REQUEST: {
113
119
  const request = message.payload;
114
120
  const id = request.getId();
115
121
  const type = embedded_sass_pb_1.InboundMessage.MessageCase.CANONICALIZE_RESPONSE;
116
122
  this.pendingOutboundRequests.add(id, type);
117
- const response = await this.outboundRequestHandlers.handleCanonicalizeRequest(request);
118
- this.sendInboundMessage(id, response, type);
119
- break;
123
+ return (0, utils_1.thenOr)(this.outboundRequestHandlers.handleCanonicalizeRequest(request), response => {
124
+ this.sendInboundMessage(id, response, type);
125
+ });
120
126
  }
121
127
  case embedded_sass_pb_1.OutboundMessage.MessageCase.FUNCTION_CALL_REQUEST: {
122
128
  const request = message.payload;
123
129
  const id = request.getId();
124
130
  const type = embedded_sass_pb_1.InboundMessage.MessageCase.FUNCTION_CALL_RESPONSE;
125
131
  this.pendingOutboundRequests.add(id, type);
126
- const response = await this.outboundRequestHandlers.handleFunctionCallRequest(request);
127
- this.sendInboundMessage(id, response, type);
128
- break;
132
+ return (0, utils_1.thenOr)(this.outboundRequestHandlers.handleFunctionCallRequest(request), response => {
133
+ this.sendInboundMessage(id, response, type);
134
+ });
129
135
  }
130
136
  default:
131
137
  throw Error(`Unknown message type ${message.type}`);
@@ -134,22 +140,21 @@ class Dispatcher {
134
140
  // Sends a `request` of type `requestType` inbound. Returns a promise that
135
141
  // will either resolve with the corresponding outbound response of type
136
142
  // `responseType`, or error if any Protocol Errors were encountered.
137
- handleInboundRequest(request, requestType, responseType) {
138
- return new Promise((resolve, reject) => {
139
- if (this.messages$.isStopped) {
140
- reject(Error('Tried writing to closed dispatcher'));
141
- }
142
- this.messages$
143
- .pipe((0, operators_1.filter)(message => message.type === responseType), (0, operators_1.map)(message => message.payload), (0, operators_1.filter)(response => response.getId() === request.getId()))
144
- .subscribe({ next: resolve });
145
- this.error$.subscribe({ error: reject });
146
- try {
147
- this.sendInboundMessage(this.pendingInboundRequests.nextId, request, requestType);
148
- }
149
- catch (error) {
150
- this.throwAndClose(error);
151
- }
152
- });
143
+ handleInboundRequest(request, requestType, responseType, callback) {
144
+ if (this.messages$.isStopped) {
145
+ callback(new Error('Tried writing to closed dispatcher'), undefined);
146
+ return;
147
+ }
148
+ this.messages$
149
+ .pipe((0, operators_1.filter)(message => message.type === responseType), (0, operators_1.map)(message => message.payload), (0, operators_1.filter)(response => response.getId() === request.getId()))
150
+ .subscribe({ next: response => callback(null, response) });
151
+ this.error$.subscribe({ error: error => callback(error, undefined) });
152
+ try {
153
+ this.sendInboundMessage(this.pendingInboundRequests.nextId, request, requestType);
154
+ }
155
+ catch (error) {
156
+ this.throwAndClose(error);
157
+ }
153
158
  }
154
159
  // Sends a message inbound. Keeps track of all pending inbound requests.
155
160
  sendInboundMessage(id, payload, type) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../lib/src/dispatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ // Copyright 2020 Google Inc. Use of this source code is governed by an
3
+ // MIT-style license that can be found in the LICENSE file or at
4
+ // https://opensource.org/licenses/MIT.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Exception = void 0;
7
+ const deprotofy_span_1 = require("./deprotofy-span");
8
+ class Exception extends Error {
9
+ constructor(failure) {
10
+ super(failure.getFormatted());
11
+ this.sassMessage = failure.getMessage();
12
+ this.sassStack = failure.getStackTrace();
13
+ this.span = (0, deprotofy_span_1.deprotofySourceSpan)(failure.getSpan());
14
+ }
15
+ toString() {
16
+ return this.message;
17
+ }
18
+ }
19
+ exports.Exception = Exception;
20
+ //# sourceMappingURL=exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exception.js","sourceRoot":"","sources":["../../../lib/src/exception.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAIvC,qDAAqD;AAErD,MAAa,SAAU,SAAQ,KAAK;IAKlC,YAAY,OAA6D;QACvE,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;QAE9B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAA,oCAAmB,EAAC,OAAO,CAAC,OAAO,EAAG,CAAC,CAAC;IACtD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAhBD,8BAgBC"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ // Copyright 2021 Google Inc. Use of this source code is governed by an
3
+ // MIT-style license that can be found in the LICENSE file or at
4
+ // https://opensource.org/licenses/MIT.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FunctionRegistry = void 0;
7
+ const util_1 = require("util");
8
+ const utils = require("./utils");
9
+ const embedded_sass_pb_1 = require("./vendor/embedded-protocol/embedded_sass_pb");
10
+ const utils_1 = require("./utils");
11
+ const protofier_1 = require("./protofier");
12
+ const value_1 = require("./value");
13
+ class FunctionRegistry {
14
+ constructor(functionsBySignature) {
15
+ this.functionsByName = new Map();
16
+ this.functionsById = new Array();
17
+ this.idsByFunction = new Map();
18
+ for (const [signature, fn] of Object.entries(functionsBySignature !== null && functionsBySignature !== void 0 ? functionsBySignature : {})) {
19
+ const openParen = signature.indexOf('(');
20
+ if (openParen === -1) {
21
+ throw new Error(`options.functions: "${signature}" is missing "("`);
22
+ }
23
+ this.functionsByName.set(signature.substring(0, openParen), fn);
24
+ }
25
+ }
26
+ /** Registers `fn` as a function that can be called using the returned ID. */
27
+ register(fn) {
28
+ return utils.putIfAbsent(this.idsByFunction, fn, () => {
29
+ const id = this.functionsById.length;
30
+ this.functionsById.push(fn);
31
+ return id;
32
+ });
33
+ }
34
+ /**
35
+ * Returns the function to which `request` refers and returns its response.
36
+ */
37
+ call(request) {
38
+ const protofier = new protofier_1.Protofier();
39
+ const fn = this.get(request);
40
+ return (0, utils_1.catchOr)(() => {
41
+ return (0, utils_1.thenOr)(fn(request
42
+ .getArgumentsList()
43
+ .map(value => protofier.deprotofy(value))), result => {
44
+ if (!(result instanceof value_1.Value)) {
45
+ const name = request.getName().length === 0
46
+ ? 'anonymous function'
47
+ : `"${request.getName()}"`;
48
+ throw (`options.functions: ${name} returned non-Value: ` +
49
+ (0, util_1.inspect)(result));
50
+ }
51
+ const response = new embedded_sass_pb_1.InboundMessage.FunctionCallResponse();
52
+ response.setSuccess(protofier.protofy(result));
53
+ return response;
54
+ });
55
+ }, error => {
56
+ const response = new embedded_sass_pb_1.InboundMessage.FunctionCallResponse();
57
+ response.setError(`${error}`);
58
+ return response;
59
+ });
60
+ }
61
+ /** Returns the function to which `request` refers. */
62
+ get(request) {
63
+ if (request.getIdentifierCase() ===
64
+ embedded_sass_pb_1.OutboundMessage.FunctionCallRequest.IdentifierCase.NAME) {
65
+ const fn = this.functionsByName.get(request.getName());
66
+ if (fn)
67
+ return fn;
68
+ throw new Error('Invalid OutboundMessage.FunctionCallRequest: there is no function ' +
69
+ `named "${request.getName()}"`);
70
+ }
71
+ else {
72
+ const fn = this.functionsById[request.getFunctionId()];
73
+ if (fn)
74
+ return fn;
75
+ throw new Error('Invalid OutboundMessage.FunctionCallRequest: there is no function ' +
76
+ `with ID "${request.getFunctionId()}"`);
77
+ }
78
+ }
79
+ }
80
+ exports.FunctionRegistry = FunctionRegistry;
81
+ //# sourceMappingURL=function-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-registry.js","sourceRoot":"","sources":["../../../lib/src/function-registry.ts"],"names":[],"mappings":"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"}
@@ -6,50 +6,46 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.render = void 0;
7
7
  const p = require("path");
8
8
  const url_1 = require("url");
9
- const compile_1 = require("../compile");
10
- const exception_1 = require("../exception/exception");
11
- const utils_1 = require("../utils");
12
- /**
13
- * Converts Sass to CSS.
14
- *
15
- * This attempts to match the Node Sass `render()` API as closely as possible
16
- * (see: https://github.com/sass/node-sass#usage).
17
- */
9
+ const exception_1 = require("./exception");
10
+ const compile_1 = require("./compile");
11
+ const utils_1 = require("./utils");
18
12
  function render(options, callback) {
19
- const fileRequest = options;
20
- const stringRequest = options;
21
- if (!fileRequest.file && (0, utils_1.isNullOrUndefined)(stringRequest.data)) {
22
- callback(newRenderError(Error('Either options.data or options.file must be set.')));
13
+ if (!('file' in options && options.file) && !('data' in options)) {
14
+ callback(newLegacyException(new Error('Either options.data or options.file must be set.')));
23
15
  return;
24
16
  }
25
- let sourceMap;
26
- const getSourceMap = wasSourceMapRequested(options)
27
- ? (map) => (sourceMap = map)
28
- : undefined;
29
17
  const start = Date.now();
30
- const compileSass = stringRequest.data
31
- ? (0, compile_1.compileString)({
32
- source: stringRequest.data,
33
- sourceMap: getSourceMap,
34
- url: stringRequest.file ? (0, url_1.pathToFileURL)(stringRequest.file) : 'stdin',
35
- syntax: stringRequest.indentedSyntax ? 'indented' : 'scss',
18
+ const compileSass = isStringOptions(options)
19
+ ? (0, compile_1.compileStringAsync)(options.data, {
20
+ sourceMap: wasSourceMapRequested(options),
21
+ url: options.file ? (0, url_1.pathToFileURL)(options.file) : undefined,
22
+ syntax: options.indentedSyntax ? 'indented' : 'scss',
36
23
  })
37
- : (0, compile_1.compile)({ path: fileRequest.file, sourceMap: getSourceMap });
38
- compileSass.then(css => callback(undefined, newRenderResult(options, start, css, sourceMap)), error => callback(newRenderError(error)));
24
+ : (0, compile_1.compileAsync)(options.file, {
25
+ sourceMap: wasSourceMapRequested(options),
26
+ loadPaths: options.includePaths,
27
+ });
28
+ compileSass.then(result => callback(undefined, newLegacyResult(options, start, result)), error => callback(newLegacyException(error)));
39
29
  }
40
30
  exports.render = render;
41
- // Determines whether a sourceMap was requested by the call to render().
31
+ // Returns whether `options` is a `LegacyStringOptions`.
32
+ function isStringOptions(options) {
33
+ return 'data' in options;
34
+ }
35
+ // Determines whether a sourceMap was requested by the call to `render()`.
42
36
  function wasSourceMapRequested(options) {
43
37
  return (typeof options.sourceMap === 'string' ||
44
38
  (options.sourceMap === true && !!options.outFile));
45
39
  }
46
40
  // Transforms the compilation result into an object that mimics the Node Sass
47
41
  // API format.
48
- function newRenderResult(options, start, css, sourceMap) {
42
+ function newLegacyResult(options, start, result) {
49
43
  var _a, _b;
50
44
  const end = Date.now();
45
+ let css = result.css;
51
46
  let sourceMapBytes;
52
- if (sourceMap) {
47
+ if (result.sourceMap) {
48
+ const sourceMap = result.sourceMap;
53
49
  sourceMap.sourceRoot = (_a = options.sourceMapRoot) !== null && _a !== void 0 ? _a : '';
54
50
  const sourceMapPath = typeof options.sourceMap === 'string'
55
51
  ? options.sourceMap
@@ -68,7 +64,12 @@ function newRenderResult(options, start, css, sourceMap) {
68
64
  if (source.startsWith('file://')) {
69
65
  return (0, utils_1.pathToUrlString)(p.relative(sourceMapDir, (0, url_1.fileURLToPath)(source)));
70
66
  }
71
- return source;
67
+ else if (source.startsWith('data:')) {
68
+ return 'stdin';
69
+ }
70
+ else {
71
+ return source;
72
+ }
72
73
  });
73
74
  sourceMapBytes = Buffer.from(JSON.stringify(sourceMap));
74
75
  if (!options.omitSourceMapUrl) {
@@ -93,35 +94,40 @@ function newRenderResult(options, start, css, sourceMap) {
93
94
  start,
94
95
  end,
95
96
  duration: end - start,
97
+ includedFiles: result.loadedUrls.map(url => url.toString()),
96
98
  },
97
99
  };
98
100
  }
99
101
  // Decorates an Error with additional fields so that it behaves like a Node Sass
100
102
  // error.
101
- function newRenderError(error) {
102
- var _a, _b, _c;
103
- if (!(error instanceof exception_1.SassException)) {
103
+ function newLegacyException(error) {
104
+ var _a, _b, _c, _d;
105
+ if (!(error instanceof exception_1.Exception)) {
104
106
  return Object.assign(error, {
107
+ formatted: error.toString(),
105
108
  status: 3,
106
109
  });
107
110
  }
108
- let file = ((_a = error.span) === null || _a === void 0 ? void 0 : _a.url) || undefined;
109
- if (file && file !== 'stdin') {
110
- file = (0, url_1.fileURLToPath)(file);
111
- }
111
+ const file = ((_a = error.span) === null || _a === void 0 ? void 0 : _a.url)
112
+ ? // We have to cast to Node's URL type here because the specified type is the
113
+ // standard URL type which is slightly less featureful. `fileURLToPath()`
114
+ // does work with standard URL objects in practice, but we know that we
115
+ // generate Node URLs here regardless.
116
+ (0, url_1.fileURLToPath)((_b = error.span) === null || _b === void 0 ? void 0 : _b.url)
117
+ : 'stdin';
112
118
  return Object.assign(new Error(), {
113
119
  status: 1,
114
120
  message: error.toString().replace(/^Error: /, ''),
115
121
  formatted: error.toString(),
116
122
  toString: () => error.toString(),
117
123
  stack: error.stack,
118
- line: (0, utils_1.isNullOrUndefined)((_b = error.span) === null || _b === void 0 ? void 0 : _b.start.line)
124
+ line: (0, utils_1.isNullOrUndefined)((_c = error.span) === null || _c === void 0 ? void 0 : _c.start.line)
119
125
  ? undefined
120
126
  : error.span.start.line + 1,
121
- column: (0, utils_1.isNullOrUndefined)((_c = error.span) === null || _c === void 0 ? void 0 : _c.start.column)
127
+ column: (0, utils_1.isNullOrUndefined)((_d = error.span) === null || _d === void 0 ? void 0 : _d.start.column)
122
128
  ? undefined
123
129
  : error.span.start.column + 1,
124
130
  file,
125
131
  });
126
132
  }
127
- //# sourceMappingURL=render.js.map
133
+ //# sourceMappingURL=legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../../lib/src/legacy.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.MessageTransformer = void 0;
7
7
  const rxjs_1 = require("rxjs");
8
8
  const operators_1 = require("rxjs/operators");
9
- const utils_1 = require("../utils");
10
- const embedded_sass_pb_1 = require("../vendor/embedded-protocol/embedded_sass_pb");
9
+ const utils_1 = require("./utils");
10
+ const embedded_sass_pb_1 = require("./vendor/embedded-protocol/embedded_sass_pb");
11
11
  /**
12
12
  * Encodes InboundTypedMessages into protocol buffers and decodes protocol
13
13
  * buffers into OutboundTypedMessages. Any Embedded Protocol violations that can
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-transformer.js","sourceRoot":"","sources":["../../../lib/src/message-transformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packet-transformer.js","sourceRoot":"","sources":["../../../lib/src/packet-transformer.ts"],"names":[],"mappings":"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"}