New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

sass-embedded

Package Overview
Dependencies
Maintainers
1
Versions
90
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sass-embedded - npm Package Compare versions

Comparing version

to
1.58.2

dist/lib/src/messages.js

80

dist/lib/src/compile.js

@@ -9,3 +9,3 @@ "use strict";

const supportsColor = require("supports-color");
const proto = require("./vendor/embedded-protocol/embedded_sass_pb");
const proto = require("./vendor/embedded_sass_pb");
const utils = require("./utils");

@@ -45,3 +45,3 @@ const async_compiler_1 = require("./async-compiler");

const request = newCompileRequest(importers, options);
request.setPath(path);
request.input = { case: 'path', value: path };
return request;

@@ -52,16 +52,17 @@ }

var _a, _b;
const input = new proto.InboundMessage.CompileRequest.StringInput();
input.setSource(source);
input.setSyntax(utils.protofySyntax((_a = options === null || options === void 0 ? void 0 : options.syntax) !== null && _a !== void 0 ? _a : 'scss'));
const input = new proto.InboundMessage_CompileRequest_StringInput({
source,
syntax: utils.protofySyntax((_a = options === null || options === void 0 ? void 0 : options.syntax) !== null && _a !== void 0 ? _a : 'scss'),
});
const url = (_b = options === null || options === void 0 ? void 0 : options.url) === null || _b === void 0 ? void 0 : _b.toString();
if (url && url !== importer_1.legacyImporterProtocol) {
input.setUrl(url);
input.url = url;
}
if (options && 'importer' in options && options.importer) {
input.setImporter(importers.register(options.importer));
input.importer = importers.register(options.importer);
}
else if (url === importer_1.legacyImporterProtocol) {
const importer = new proto.InboundMessage.CompileRequest.Importer();
importer.setPath(p.resolve('.'));
input.setImporter(importer);
input.importer = new proto.InboundMessage_CompileRequest_Importer({
importer: { case: 'path', value: p.resolve('.') },
});
}

@@ -73,3 +74,3 @@ else {

const request = newCompileRequest(importers, options);
request.setString(input);
request.input = { case: 'string', value: input };
return request;

@@ -81,18 +82,19 @@ }

var _a, _b, _c, _d;
const request = new proto.InboundMessage.CompileRequest();
request.setImportersList(importers.importers);
request.setGlobalFunctionsList(Object.keys((_a = options === null || options === void 0 ? void 0 : options.functions) !== null && _a !== void 0 ? _a : {}));
request.setSourceMap(!!(options === null || options === void 0 ? void 0 : options.sourceMap));
request.setSourceMapIncludeSources(!!(options === null || options === void 0 ? void 0 : options.sourceMapIncludeSources));
request.setAlertColor((_b = options === null || options === void 0 ? void 0 : options.alertColor) !== null && _b !== void 0 ? _b : !!supportsColor.stdout);
request.setAlertAscii(!!(options === null || options === void 0 ? void 0 : options.alertAscii));
request.setQuietDeps(!!(options === null || options === void 0 ? void 0 : options.quietDeps));
request.setVerbose(!!(options === null || options === void 0 ? void 0 : options.verbose));
request.setCharset(!!((_c = options === null || options === void 0 ? void 0 : options.charset) !== null && _c !== void 0 ? _c : true));
const request = new proto.InboundMessage_CompileRequest({
importers: importers.importers,
globalFunctions: Object.keys((_a = options === null || options === void 0 ? void 0 : options.functions) !== null && _a !== void 0 ? _a : {}),
sourceMap: !!(options === null || options === void 0 ? void 0 : options.sourceMap),
sourceMapIncludeSources: !!(options === null || options === void 0 ? void 0 : options.sourceMapIncludeSources),
alertColor: (_b = options === null || options === void 0 ? void 0 : options.alertColor) !== null && _b !== void 0 ? _b : !!supportsColor.stdout,
alertAscii: !!(options === null || options === void 0 ? void 0 : options.alertAscii),
quietDeps: !!(options === null || options === void 0 ? void 0 : options.quietDeps),
verbose: !!(options === null || options === void 0 ? void 0 : options.verbose),
charset: !!((_c = options === null || options === void 0 ? void 0 : options.charset) !== null && _c !== void 0 ? _c : true),
});
switch ((_d = options === null || options === void 0 ? void 0 : options.style) !== null && _d !== void 0 ? _d : 'expanded') {
case 'expanded':
request.setStyle(proto.OutputStyle.EXPANDED);
request.style = proto.OutputStyle.EXPANDED;
break;
case 'compressed':
request.setStyle(proto.OutputStyle.COMPRESSED);
request.style = proto.OutputStyle.COMPRESSED;
break;

@@ -188,10 +190,10 @@ default:

var _a, _b;
if (event.getType() === proto.LogEventType.DEBUG) {
if (event.type === proto.LogEventType.DEBUG) {
if ((_a = options === null || options === void 0 ? void 0 : options.logger) === null || _a === void 0 ? void 0 : _a.debug) {
options.logger.debug(event.getMessage(), {
span: (0, deprotofy_span_1.deprotofySourceSpan)(event.getSpan()),
options.logger.debug(event.message, {
span: (0, deprotofy_span_1.deprotofySourceSpan)(event.span),
});
}
else {
console.error(event.getFormatted());
console.error(event.formatted);
}

@@ -202,14 +204,14 @@ }

const params = {
deprecation: event.getType() === proto.LogEventType.DEPRECATION_WARNING,
deprecation: event.type === proto.LogEventType.DEPRECATION_WARNING,
};
const spanProto = event.getSpan();
const spanProto = event.span;
if (spanProto)
params.span = (0, deprotofy_span_1.deprotofySourceSpan)(spanProto);
const stack = event.getStackTrace();
const stack = event.stackTrace;
if (stack)
params.stack = stack;
options.logger.warn(event.getMessage(), params);
options.logger.warn(event.message, params);
}
else {
console.error(event.getFormatted());
console.error(event.formatted);
}

@@ -224,9 +226,9 @@ }

function handleCompileResponse(response) {
if (response.getSuccess()) {
const success = response.getSuccess();
if (response.result.case === 'success') {
const success = response.result.value;
const result = {
css: success.getCss(),
loadedUrls: success.getLoadedUrlsList().map(url => new URL(url)),
css: success.css,
loadedUrls: success.loadedUrls.map(url => new URL(url)),
};
const sourceMap = success.getSourceMap();
const sourceMap = success.sourceMap;
if (sourceMap)

@@ -236,4 +238,4 @@ result.sourceMap = JSON.parse(sourceMap);

}
else if (response.getFailure()) {
throw new exception_1.Exception(response.getFailure());
else if (response.result.case === 'failure') {
throw new exception_1.Exception(response.result.value);
}

@@ -240,0 +242,0 @@ else {

@@ -12,9 +12,8 @@ "use strict";

function deprotofySourceSpan(buffer) {
const text = buffer.getText();
if (buffer.getStart() === undefined) {
const text = buffer.text;
if (buffer.start === undefined) {
throw (0, utils_1.compilerError)('Expected SourceSpan to have start.');
}
const start = deprotofySourceLocation(buffer.getStart());
let end;
if (buffer.getEnd() === undefined) {
if (buffer.end === undefined) {
if (text !== '') {

@@ -24,16 +23,16 @@ throw (0, utils_1.compilerError)('Expected SourceSpan text to be empty.');

else {
end = start;
end = buffer.start;
}
}
else {
end = deprotofySourceLocation(buffer.getEnd());
if (end.offset < start.offset) {
end = buffer.end;
if (end.offset < buffer.start.offset) {
throw (0, utils_1.compilerError)('Expected SourceSpan end to be after start.');
}
}
const url = buffer.getUrl() === '' ? undefined : new url_1.URL(buffer.getUrl());
const context = buffer.getContext() === '' ? undefined : buffer.getContext();
const url = buffer.url === '' ? undefined : new url_1.URL(buffer.url);
const context = buffer.context === '' ? undefined : buffer.context;
return {
text,
start,
start: buffer.start,
end,

@@ -45,10 +44,2 @@ url,

exports.deprotofySourceSpan = deprotofySourceSpan;
// Creates a SourceLocation from the given protocol `buffer`.
function deprotofySourceLocation(buffer) {
return {
offset: buffer.getOffset(),
line: buffer.getLine(),
column: buffer.getColumn(),
};
}
//# sourceMappingURL=deprotofy-span.js.map

@@ -9,3 +9,3 @@ "use strict";

const operators_1 = require("rxjs/operators");
const embedded_sass_pb_1 = require("./vendor/embedded-protocol/embedded_sass_pb");
const proto = require("./vendor/embedded_sass_pb");
const request_tracker_1 = require("./request-tracker");

@@ -60,3 +60,3 @@ const utils_1 = require("./utils");

*/
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));
this.logEvents$ = this.messages$.pipe((0, operators_1.filter)(message => message.message.case === 'logEvent'), (0, operators_1.map)(message => message.message.value));
this.outboundMessages$

@@ -87,3 +87,3 @@ .pipe((0, operators_1.mergeMap)(message => {

sendCompileRequest(request, callback) {
this.handleInboundRequest(request, embedded_sass_pb_1.InboundMessage.MessageCase.COMPILE_REQUEST, embedded_sass_pb_1.OutboundMessage.MessageCase.COMPILE_RESPONSE, callback);
this.handleInboundRequest({ value: request, case: 'compileRequest' }, 'compileResponse', callback);
}

@@ -101,52 +101,55 @@ // Rejects with `error` all promises awaiting an outbound response, and

handleOutboundMessage(message) {
switch (message.type) {
case embedded_sass_pb_1.OutboundMessage.MessageCase.LOG_EVENT:
switch (message.message.case) {
case 'logEvent':
// Handled separately by `logEvents$`.
return undefined;
case embedded_sass_pb_1.OutboundMessage.MessageCase.COMPILE_RESPONSE:
this.pendingInboundRequests.resolve(message.payload.getId(), message.type);
case 'compileResponse':
this.pendingInboundRequests.resolve(message.message.value.id, message.message.case);
return undefined;
case embedded_sass_pb_1.OutboundMessage.MessageCase.IMPORT_REQUEST: {
const request = message.payload;
const id = request.getId();
const type = embedded_sass_pb_1.InboundMessage.MessageCase.IMPORT_RESPONSE;
case 'importRequest': {
const request = message.message.value;
const id = request.id;
const type = 'importResponse';
this.pendingOutboundRequests.add(id, type);
return (0, utils_1.thenOr)(this.outboundRequestHandlers.handleImportRequest(request), response => {
this.sendInboundMessage(id, response, type);
this.sendInboundMessage(id, { case: type, value: response });
});
}
case embedded_sass_pb_1.OutboundMessage.MessageCase.FILE_IMPORT_REQUEST: {
const request = message.payload;
const id = request.getId();
const type = embedded_sass_pb_1.InboundMessage.MessageCase.FILE_IMPORT_RESPONSE;
case 'fileImportRequest': {
const request = message.message.value;
const id = request.id;
const type = 'fileImportResponse';
this.pendingOutboundRequests.add(id, type);
return (0, utils_1.thenOr)(this.outboundRequestHandlers.handleFileImportRequest(request), response => {
this.sendInboundMessage(id, response, type);
this.sendInboundMessage(id, { case: type, value: response });
});
}
case embedded_sass_pb_1.OutboundMessage.MessageCase.CANONICALIZE_REQUEST: {
const request = message.payload;
const id = request.getId();
const type = embedded_sass_pb_1.InboundMessage.MessageCase.CANONICALIZE_RESPONSE;
case 'canonicalizeRequest': {
const request = message.message.value;
const id = request.id;
const type = 'canonicalizeResponse';
this.pendingOutboundRequests.add(id, type);
return (0, utils_1.thenOr)(this.outboundRequestHandlers.handleCanonicalizeRequest(request), response => {
this.sendInboundMessage(id, response, type);
this.sendInboundMessage(id, { case: type, value: response });
});
}
case embedded_sass_pb_1.OutboundMessage.MessageCase.FUNCTION_CALL_REQUEST: {
const request = message.payload;
const id = request.getId();
const type = embedded_sass_pb_1.InboundMessage.MessageCase.FUNCTION_CALL_RESPONSE;
case 'functionCallRequest': {
const request = message.message.value;
const id = request.id;
const type = 'functionCallResponse';
this.pendingOutboundRequests.add(id, type);
return (0, utils_1.thenOr)(this.outboundRequestHandlers.handleFunctionCallRequest(request), response => {
this.sendInboundMessage(id, response, type);
this.sendInboundMessage(id, { case: type, value: response });
});
}
case 'error':
throw (0, utils_1.hostError)(message.message.value.message);
default:
throw Error(`Unknown message type ${message.type}`);
throw (0, utils_1.compilerError)(`Unknown message type ${message.message.case}`);
}
}
// Sends a `request` of type `requestType` inbound. Returns a promise that
// will either resolve with the corresponding outbound response of type
// `responseType`, or error if any Protocol Errors were encountered.
handleInboundRequest(request, requestType, responseType, callback) {
// Sends `request` inbound. Once it's done, calls `callback` with either the
// corresponding outbound response of type `responseType`, or an error if any
// protocol errors were encountered.
handleInboundRequest(request, responseType, callback) {
if (this.messages$.isStopped) {

@@ -157,7 +160,7 @@ callback(new Error('Tried writing to closed dispatcher'), undefined);

this.messages$
.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()))
.pipe((0, operators_1.filter)(message => message.message.case === responseType), (0, operators_1.map)(message => message.message.value), (0, operators_1.filter)(response => response.id === request.value.id))
.subscribe({ next: response => callback(null, response) });
this.error$.subscribe({ error: error => callback(error, undefined) });
try {
this.sendInboundMessage(this.pendingInboundRequests.nextId, request, requestType);
this.sendInboundMessage(this.pendingInboundRequests.nextId, request);
}

@@ -169,20 +172,17 @@ catch (error) {

// Sends a message inbound. Keeps track of all pending inbound requests.
sendInboundMessage(id, payload, type) {
payload.setId(id);
if (type === embedded_sass_pb_1.InboundMessage.MessageCase.COMPILE_REQUEST) {
this.pendingInboundRequests.add(id, embedded_sass_pb_1.OutboundMessage.MessageCase.COMPILE_RESPONSE);
sendInboundMessage(id, message) {
message.value.id = id;
if (message.case === 'compileRequest') {
this.pendingInboundRequests.add(id, 'compileResponse');
}
else if (type === embedded_sass_pb_1.InboundMessage.MessageCase.IMPORT_RESPONSE ||
type === embedded_sass_pb_1.InboundMessage.MessageCase.FILE_IMPORT_RESPONSE ||
type === embedded_sass_pb_1.InboundMessage.MessageCase.CANONICALIZE_RESPONSE ||
type === embedded_sass_pb_1.InboundMessage.MessageCase.FUNCTION_CALL_RESPONSE) {
this.pendingOutboundRequests.resolve(id, type);
else if (message.case === 'importResponse' ||
message.case === 'fileImportResponse' ||
message.case === 'canonicalizeResponse' ||
message.case === 'functionCallResponse') {
this.pendingOutboundRequests.resolve(id, message.case);
}
else {
throw Error(`Unknown message type ${type}`);
throw Error(`Unknown message type ${message.case}`);
}
this.writeInboundMessage({
payload,
type,
});
this.writeInboundMessage(new proto.InboundMessage({ message }));
}

@@ -189,0 +189,0 @@ }

@@ -10,6 +10,6 @@ "use strict";

constructor(failure) {
super(failure.getFormatted());
this.sassMessage = failure.getMessage();
this.sassStack = failure.getStackTrace();
this.span = (0, deprotofy_span_1.deprotofySourceSpan)(failure.getSpan());
super(failure.formatted);
this.sassMessage = failure.message;
this.sassStack = failure.stackTrace;
this.span = (0, deprotofy_span_1.deprotofySourceSpan)(failure.span);
}

@@ -16,0 +16,0 @@ toString() {

@@ -9,3 +9,3 @@ "use strict";

const utils = require("./utils");
const embedded_sass_pb_1 = require("./vendor/embedded-protocol/embedded_sass_pb");
const proto = require("./vendor/embedded_sass_pb");
const utils_1 = require("./utils");

@@ -52,40 +52,39 @@ const protofier_1 = require("./protofier");

return (0, utils_1.catchOr)(() => {
return (0, utils_1.thenOr)(fn(request
.getArgumentsList()
.map(value => protofier.deprotofy(value))), result => {
return (0, utils_1.thenOr)(fn(request.arguments.map(value => protofier.deprotofy(value))), result => {
if (!(result instanceof value_1.Value)) {
const name = request.getName().length === 0
? 'anonymous function'
: `"${request.getName()}"`;
const name = request.identifier.case === 'name'
? `"${request.identifier.value}"`
: 'anonymous function';
throw (`options.functions: ${name} returned non-Value: ` +
(0, util_1.inspect)(result));
}
const response = new embedded_sass_pb_1.InboundMessage.FunctionCallResponse();
response.setSuccess(protofier.protofy(result));
response.setAccessedArgumentListsList(protofier.accessedArgumentLists);
return response;
return new proto.InboundMessage_FunctionCallResponse({
result: { case: 'success', value: protofier.protofy(result) },
accessedArgumentLists: protofier.accessedArgumentLists,
});
});
}, error => {
const response = new embedded_sass_pb_1.InboundMessage.FunctionCallResponse();
response.setError(`${error}`);
return response;
});
}, error => new proto.InboundMessage_FunctionCallResponse({
result: { case: 'error', value: `${error}` },
}));
}
/** Returns the function to which `request` refers. */
get(request) {
if (request.getIdentifierCase() ===
embedded_sass_pb_1.OutboundMessage.FunctionCallRequest.IdentifierCase.NAME) {
const fn = this.functionsByName.get(request.getName());
if (request.identifier.case === 'name') {
const fn = this.functionsByName.get(request.identifier.value);
if (fn)
return fn;
throw new Error('Invalid OutboundMessage.FunctionCallRequest: there is no function ' +
`named "${request.getName()}"`);
throw (0, utils_1.compilerError)('Invalid OutboundMessage_FunctionCallRequest: there is no function ' +
`named "${request.identifier.value}"`);
}
else {
const fn = this.functionsById.get(request.getFunctionId());
else if (request.identifier.case === 'functionId') {
const fn = this.functionsById.get(request.identifier.value);
if (fn)
return fn;
throw new Error('Invalid OutboundMessage.FunctionCallRequest: there is no function ' +
`with ID "${request.getFunctionId()}"`);
throw (0, utils_1.compilerError)('Invalid OutboundMessage_FunctionCallRequest: there is no function ' +
`with ID "${request.identifier.value}"`);
}
else {
throw (0, utils_1.compilerError)('Invalid OutboundMessage_FunctionCallRequest: function identifier is ' +
'unset');
}
}

@@ -92,0 +91,0 @@ }

@@ -11,3 +11,3 @@ "use strict";

const utils = require("./utils");
const embedded_sass_pb_1 = require("./vendor/embedded-protocol/embedded_sass_pb");
const proto = require("./vendor/embedded_sass_pb");
const utils_1 = require("./utils");

@@ -29,11 +29,9 @@ /**

.map(importer => this.register(importer))
.concat(((_b = options === null || options === void 0 ? void 0 : options.loadPaths) !== null && _b !== void 0 ? _b : []).map(path => {
const proto = new embedded_sass_pb_1.InboundMessage.CompileRequest.Importer();
proto.setPath(p.resolve(path));
return proto;
}));
.concat(((_b = options === null || options === void 0 ? void 0 : options.loadPaths) !== null && _b !== void 0 ? _b : []).map(path => new proto.InboundMessage_CompileRequest_Importer({
importer: { case: 'path', value: p.resolve(path) },
})));
}
/** Converts an importer to a proto without adding it to `this.importers`. */
register(importer) {
const proto = new embedded_sass_pb_1.InboundMessage.CompileRequest.Importer();
const response = new proto.InboundMessage_CompileRequest_Importer();
if ('canonicalize' in importer) {

@@ -44,15 +42,15 @@ if ('findFileUrl' in importer) {

}
proto.setImporterId(this.id);
response.importer = { case: 'importerId', value: this.id };
this.importersById.set(this.id, importer);
}
else {
proto.setFileImporterId(this.id);
response.importer = { case: 'fileImporterId', value: this.id };
this.fileImportersById.set(this.id, importer);
}
this.id += 1;
return proto;
return response;
}
/** Handles a canonicalization request. */
canonicalize(request) {
const importer = this.importersById.get(request.getImporterId());
const importer = this.importersById.get(request.importerId);
if (!importer) {

@@ -62,19 +60,16 @@ throw utils.compilerError('Unknown CanonicalizeRequest.importer_id');

return (0, utils_1.catchOr)(() => {
return (0, utils_1.thenOr)(importer.canonicalize(request.getUrl(), {
fromImport: request.getFromImport(),
}), url => {
const proto = new embedded_sass_pb_1.InboundMessage.CanonicalizeResponse();
if (url !== null)
proto.setUrl(url.toString());
return proto;
});
}, error => {
const proto = new embedded_sass_pb_1.InboundMessage.CanonicalizeResponse();
proto.setError(`${error}`);
return proto;
});
return (0, utils_1.thenOr)(importer.canonicalize(request.url, {
fromImport: request.fromImport,
}), url => new proto.InboundMessage_CanonicalizeResponse({
result: url === null
? { case: undefined }
: { case: 'url', value: url.toString() },
}));
}, error => new proto.InboundMessage_CanonicalizeResponse({
result: { case: 'error', value: `${error}` },
}));
}
/** Handles an import request. */
import(request) {
const importer = this.importersById.get(request.getImporterId());
const importer = this.importersById.get(request.importerId);
if (!importer) {

@@ -84,31 +79,31 @@ throw utils.compilerError('Unknown ImportRequest.importer_id');

return (0, utils_1.catchOr)(() => {
return (0, utils_1.thenOr)(importer.load(new url_1.URL(request.getUrl())), result => {
const proto = new embedded_sass_pb_1.InboundMessage.ImportResponse();
if (result) {
if (typeof result.contents !== 'string') {
throw Error(`Invalid argument (contents): must be a string but was: ${result.contents.constructor.name}`);
}
if (result.sourceMapUrl && !result.sourceMapUrl.protocol) {
throw Error('Invalid argument (sourceMapUrl): must be absolute but was: ' +
result.sourceMapUrl);
}
const success = new embedded_sass_pb_1.InboundMessage.ImportResponse.ImportSuccess();
success.setContents(result.contents);
success.setSyntax(utils.protofySyntax(result.syntax));
if (result.sourceMapUrl) {
success.setSourceMapUrl(result.sourceMapUrl.toString());
}
proto.setSuccess(success);
return (0, utils_1.thenOr)(importer.load(new url_1.URL(request.url)), result => {
var _a, _b;
if (!result)
return new proto.InboundMessage_ImportResponse();
if (typeof result.contents !== 'string') {
throw Error(`Invalid argument (contents): must be a string but was: ${result.contents.constructor.name}`);
}
return proto;
if (result.sourceMapUrl && !result.sourceMapUrl.protocol) {
throw Error('Invalid argument (sourceMapUrl): must be absolute but was: ' +
result.sourceMapUrl);
}
return new proto.InboundMessage_ImportResponse({
result: {
case: 'success',
value: new proto.InboundMessage_ImportResponse_ImportSuccess({
contents: result.contents,
syntax: utils.protofySyntax(result.syntax),
sourceMapUrl: (_b = (_a = result.sourceMapUrl) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : '',
}),
},
});
});
}, error => {
const proto = new embedded_sass_pb_1.InboundMessage.ImportResponse();
proto.setError(`${error}`);
return proto;
});
}, error => new proto.InboundMessage_ImportResponse({
result: { case: 'error', value: `${error}` },
}));
}
/** Handles a file import request. */
fileImport(request) {
const importer = this.fileImportersById.get(request.getImporterId());
const importer = this.fileImportersById.get(request.importerId);
if (!importer) {

@@ -118,20 +113,18 @@ throw utils.compilerError('Unknown FileImportRequest.importer_id');

return (0, utils_1.catchOr)(() => {
return (0, utils_1.thenOr)(importer.findFileUrl(request.getUrl(), {
fromImport: request.getFromImport(),
return (0, utils_1.thenOr)(importer.findFileUrl(request.url, {
fromImport: request.fromImport,
}), url => {
const proto = new embedded_sass_pb_1.InboundMessage.FileImportResponse();
if (url) {
if (url.protocol !== 'file:') {
throw (`FileImporter ${(0, util_1.inspect)(importer)} returned non-file: URL ` +
+`"${url}" for URL "${request.getUrl()}".`);
}
proto.setFileUrl(url.toString());
if (!url)
return new proto.InboundMessage_FileImportResponse();
if (url.protocol !== 'file:') {
throw (`FileImporter ${(0, util_1.inspect)(importer)} returned non-file: URL ` +
+`"${url}" for URL "${request.url}".`);
}
return proto;
return new proto.InboundMessage_FileImportResponse({
result: { case: 'fileUrl', value: url.toString() },
});
});
}, error => {
const proto = new embedded_sass_pb_1.InboundMessage.FileImportResponse();
proto.setError(`${error}`);
return proto;
});
}, error => new proto.InboundMessage_FileImportResponse({
result: { case: 'error', value: `${error}` },
}));
}

@@ -138,0 +131,0 @@ }

@@ -10,13 +10,6 @@ "use strict";

const utils_1 = require("./utils");
const embedded_sass_pb_1 = require("./vendor/embedded-protocol/embedded_sass_pb");
const embedded_sass_pb_1 = require("./vendor/embedded_sass_pb");
/**
* Encodes InboundTypedMessages into protocol buffers and decodes protocol
* buffers into OutboundTypedMessages. Any Embedded Protocol violations that can
* be detected at the message level are encapsulated here and reported as
* errors.
*
* This transformer communicates via In/OutboundTypedMessages instead of raw
* In/OutboundMessages in order to expose more type information to consumers.
* This makes the stream of messages from the transformer easier to interact
* with.
* Encodes InboundMessages into protocol buffers and decodes protocol buffers
* into OutboundMessages.
*/

@@ -31,4 +24,4 @@ class MessageTransformer {

/**
* The OutboundTypedMessages, decoded from protocol buffers. If any errors are
* detected while encoding/decoding, this Observable will error out.
* The OutboundMessages, decoded from protocol buffers. If this fails to
* decode a message, it will emit an error.
*/

@@ -45,3 +38,3 @@ this.outboundMessages$ = this.outboundMessagesInternal$.pipe();

try {
this.writeInboundProtobuf(encode(message));
this.writeInboundProtobuf(message.toBinary());
}

@@ -54,10 +47,8 @@ catch (error) {

exports.MessageTransformer = MessageTransformer;
// Decodes a protobuf `buffer` into an OutboundTypedMessage, ensuring that all
// Decodes a protobuf `buffer` into an OutboundMessage, ensuring that all
// mandatory message fields are populated. Throws if `buffer` cannot be decoded
// into a valid message, or if the message itself contains a Protocol Error.
function decode(buffer) {
var _a, _b, _c;
let message;
try {
message = embedded_sass_pb_1.OutboundMessage.deserializeBinary(buffer);
return embedded_sass_pb_1.OutboundMessage.fromBinary(buffer);
}

@@ -67,67 +58,3 @@ catch (error) {

}
let payload;
const type = message.getMessageCase();
switch (type) {
case embedded_sass_pb_1.OutboundMessage.MessageCase.LOG_EVENT:
payload = message.getLogEvent();
break;
case embedded_sass_pb_1.OutboundMessage.MessageCase.COMPILE_RESPONSE:
if (((_a = message.getCompileResponse()) === null || _a === void 0 ? void 0 : _a.getResultCase()) ===
embedded_sass_pb_1.OutboundMessage.CompileResponse.ResultCase.RESULT_NOT_SET) {
throw (0, utils_1.compilerError)('OutboundMessage.CompileResponse.result is not set');
}
payload = message.getCompileResponse();
break;
case embedded_sass_pb_1.OutboundMessage.MessageCase.IMPORT_REQUEST:
payload = message.getImportRequest();
break;
case embedded_sass_pb_1.OutboundMessage.MessageCase.FILE_IMPORT_REQUEST:
payload = message.getFileImportRequest();
break;
case embedded_sass_pb_1.OutboundMessage.MessageCase.CANONICALIZE_REQUEST:
payload = message.getCanonicalizeRequest();
break;
case embedded_sass_pb_1.OutboundMessage.MessageCase.FUNCTION_CALL_REQUEST:
if (((_b = message.getFunctionCallRequest()) === null || _b === void 0 ? void 0 : _b.getIdentifierCase()) ===
embedded_sass_pb_1.OutboundMessage.FunctionCallRequest.IdentifierCase.IDENTIFIER_NOT_SET) {
throw (0, utils_1.compilerError)('OutboundMessage.FunctionCallRequest.identifier is not set');
}
payload = message.getFunctionCallRequest();
break;
case embedded_sass_pb_1.OutboundMessage.MessageCase.ERROR:
throw (0, utils_1.hostError)(`${(_c = message.getError()) === null || _c === void 0 ? void 0 : _c.getMessage()}`);
case embedded_sass_pb_1.OutboundMessage.MessageCase.MESSAGE_NOT_SET:
throw (0, utils_1.compilerError)('OutboundMessage.message is not set');
default:
throw (0, utils_1.compilerError)(`Unknown message type ${message.toString()}`);
}
if (!payload)
throw (0, utils_1.compilerError)('OutboundMessage missing payload');
return {
payload,
type,
};
}
// Encodes an InboundTypedMessage into a protocol buffer.
function encode(message) {
const inboundMessage = new embedded_sass_pb_1.InboundMessage();
switch (message.type) {
case embedded_sass_pb_1.InboundMessage.MessageCase.COMPILE_REQUEST:
inboundMessage.setCompileRequest(message.payload);
break;
case embedded_sass_pb_1.InboundMessage.MessageCase.IMPORT_RESPONSE:
inboundMessage.setImportResponse(message.payload);
break;
case embedded_sass_pb_1.InboundMessage.MessageCase.FILE_IMPORT_RESPONSE:
inboundMessage.setFileImportResponse(message.payload);
break;
case embedded_sass_pb_1.InboundMessage.MessageCase.CANONICALIZE_RESPONSE:
inboundMessage.setCanonicalizeResponse(message.payload);
break;
case embedded_sass_pb_1.InboundMessage.MessageCase.FUNCTION_CALL_RESPONSE:
inboundMessage.setFunctionCallResponse(message.payload);
break;
}
return Buffer.from(inboundMessage.serializeBinary());
}
//# sourceMappingURL=message-transformer.js.map

@@ -8,3 +8,3 @@ "use strict";

const immutable_1 = require("immutable");
const proto = require("./vendor/embedded-protocol/embedded_sass_pb");
const proto = require("./vendor/embedded_sass_pb");
const utils = require("./utils");

@@ -51,81 +51,84 @@ const argument_list_1 = require("./value/argument-list");

if (value instanceof string_1.SassString) {
const string = new proto.Value.String();
string.setText(value.text);
string.setQuoted(value.hasQuotes);
result.setString(string);
const string = new proto.Value_String();
string.text = value.text;
string.quoted = value.hasQuotes;
result.value = { case: 'string', value: string };
}
else if (value instanceof number_1.SassNumber) {
result.setNumber(this.protofyNumber(value));
const number = new proto.Value_Number();
number.value = value.value;
number.numerators = value.numeratorUnits.toArray();
number.denominators = value.denominatorUnits.toArray();
result.value = { case: 'number', value: number };
}
else if (value instanceof color_1.SassColor) {
if (value.hasCalculatedHsl) {
const color = new proto.Value.HslColor();
color.setHue(value.hue);
color.setSaturation(value.saturation);
color.setLightness(value.lightness);
color.setAlpha(value.alpha);
result.setHslColor(color);
const color = new proto.Value_HslColor();
color.hue = value.hue;
color.saturation = value.saturation;
color.lightness = value.lightness;
color.alpha = value.alpha;
result.value = { case: 'hslColor', value: color };
}
else {
const color = new proto.Value.RgbColor();
color.setRed(value.red);
color.setGreen(value.green);
color.setBlue(value.blue);
color.setAlpha(value.alpha);
result.setRgbColor(color);
const color = new proto.Value_RgbColor();
color.red = value.red;
color.green = value.green;
color.blue = value.blue;
color.alpha = value.alpha;
result.value = { case: 'rgbColor', value: color };
}
}
else if (value instanceof list_1.SassList) {
const list = new proto.Value.List();
list.setSeparator(this.protofySeparator(value.separator));
list.setHasBrackets(value.hasBrackets);
const list = new proto.Value_List();
list.separator = this.protofySeparator(value.separator);
list.hasBrackets = value.hasBrackets;
for (const element of value.asList) {
list.addContents(this.protofy(element));
list.contents.push(this.protofy(element));
}
result.setList(list);
result.value = { case: 'list', value: list };
}
else if (value instanceof argument_list_1.SassArgumentList) {
const list = new proto.Value.ArgumentList();
list.setId(value.id);
list.setSeparator(this.protofySeparator(value.separator));
for (const element of value.asList) {
list.addContents(this.protofy(element));
}
const keywords = list.getKeywordsMap();
const list = new proto.Value_ArgumentList();
list.id = value.id;
list.separator = this.protofySeparator(value.separator);
list.contents = value.asList
.map(element => this.protofy(element))
.toArray();
for (const [key, mapValue] of value.keywordsInternal) {
keywords.set(key, this.protofy(mapValue));
list.keywords[key] = this.protofy(mapValue);
}
result.setArgumentList(list);
result.value = { case: 'argumentList', value: list };
}
else if (value instanceof map_1.SassMap) {
const map = new proto.Value.Map();
const map = new proto.Value_Map();
for (const [key, mapValue] of value.contents) {
const entry = new proto.Value.Map.Entry();
entry.setKey(this.protofy(key));
entry.setValue(this.protofy(mapValue));
map.addEntries(entry);
const entry = new proto.Value_Map_Entry();
entry.key = this.protofy(key);
entry.value = this.protofy(mapValue);
map.entries.push(entry);
}
result.setMap(map);
result.value = { case: 'map', value: map };
}
else if (value instanceof function_1.SassFunction) {
if (value.id !== undefined) {
const fn = new proto.Value.CompilerFunction();
fn.setId(value.id);
result.setCompilerFunction(fn);
const fn = new proto.Value_CompilerFunction();
fn.id = value.id;
result.value = { case: 'compilerFunction', value: fn };
}
else {
const fn = new proto.Value.HostFunction();
fn.setId(this.functions.register(value.callback));
fn.setSignature(value.signature);
result.setHostFunction(fn);
const fn = new proto.Value_HostFunction();
fn.id = this.functions.register(value.callback);
fn.signature = value.signature;
result.value = { case: 'hostFunction', value: fn };
}
}
else if (value === boolean_1.sassTrue) {
result.setSingleton(proto.SingletonValue.TRUE);
result.value = { case: 'singleton', value: proto.SingletonValue.TRUE };
}
else if (value === boolean_1.sassFalse) {
result.setSingleton(proto.SingletonValue.FALSE);
result.value = { case: 'singleton', value: proto.SingletonValue.FALSE };
}
else if (value === null_1.sassNull) {
result.setSingleton(proto.SingletonValue.NULL);
result.value = { case: 'singleton', value: proto.SingletonValue.NULL };
}

@@ -137,14 +140,2 @@ else {

}
/** Converts `number` to its protocol buffer representation. */
protofyNumber(number) {
const value = new proto.Value.Number();
value.setValue(number.value);
for (const unit of number.numeratorUnits) {
value.addNumerators(unit);
}
for (const unit of number.denominatorUnits) {
value.addDenominators(unit);
}
return value;
}
/** Converts `separator` to its protocol buffer representation. */

@@ -167,63 +158,63 @@ protofySeparator(separator) {

deprotofy(value) {
switch (value.getValueCase()) {
case proto.Value.ValueCase.STRING: {
const string = value.getString();
return string.getText().length === 0
? string_1.SassString.empty({ quotes: string.getQuoted() })
: new string_1.SassString(string.getText(), { quotes: string.getQuoted() });
switch (value.value.case) {
case 'string': {
const string = value.value.value;
return string.text.length === 0
? string_1.SassString.empty({ quotes: string.quoted })
: new string_1.SassString(string.text, { quotes: string.quoted });
}
case proto.Value.ValueCase.NUMBER:
return this.deprotofyNumber(value.getNumber());
case proto.Value.ValueCase.RGB_COLOR: {
const color = value.getRgbColor();
case 'number': {
const number = value.value.value;
return new number_1.SassNumber(number.value, {
numeratorUnits: number.numerators,
denominatorUnits: number.denominators,
});
}
case 'rgbColor': {
const color = value.value.value;
return new color_1.SassColor({
red: color.getRed(),
green: color.getGreen(),
blue: color.getBlue(),
alpha: color.getAlpha(),
red: color.red,
green: color.green,
blue: color.blue,
alpha: color.alpha,
});
}
case proto.Value.ValueCase.HSL_COLOR: {
const color = value.getHslColor();
case 'hslColor': {
const color = value.value.value;
return new color_1.SassColor({
hue: color.getHue(),
saturation: color.getSaturation(),
lightness: color.getLightness(),
alpha: color.getAlpha(),
hue: color.hue,
saturation: color.saturation,
lightness: color.lightness,
alpha: color.alpha,
});
}
case proto.Value.ValueCase.LIST: {
const list = value.getList();
const separator = this.deprotofySeparator(list.getSeparator());
const contents = list.getContentsList();
if (separator === null && contents.length > 1) {
case 'list': {
const list = value.value.value;
const separator = this.deprotofySeparator(list.separator);
if (separator === null && list.contents.length > 1) {
throw utils.compilerError(`Value.List ${list} can't have an undecided separator because it ` +
`has ${contents.length} elements`);
`has ${list.contents.length} elements`);
}
return new list_1.SassList(contents.map(element => this.deprotofy(element)), { separator, brackets: list.getHasBrackets() });
return new list_1.SassList(list.contents.map(element => this.deprotofy(element)), { separator, brackets: list.hasBrackets });
}
case proto.Value.ValueCase.ARGUMENT_LIST: {
const list = value.getArgumentList();
const separator = this.deprotofySeparator(list.getSeparator());
const contents = list.getContentsList();
if (separator === null && contents.length > 1) {
case 'argumentList': {
const list = value.value.value;
const separator = this.deprotofySeparator(list.separator);
if (separator === null && list.contents.length > 1) {
throw utils.compilerError(`Value.List ${list} can't have an undecided separator because it ` +
`has ${contents.length} elements`);
`has ${list.contents.length} elements`);
}
const result = new argument_list_1.SassArgumentList(contents.map(element => this.deprotofy(element)), (0, immutable_1.OrderedMap)([...list.getKeywordsMap().entries()].map(([key, value]) => [
const result = new argument_list_1.SassArgumentList(list.contents.map(element => this.deprotofy(element)), (0, immutable_1.OrderedMap)(Object.entries(list.keywords).map(([key, value]) => [
key,
this.deprotofy(value),
])), separator, list.getId());
])), separator, list.id);
this.argumentLists.push(result);
return result;
}
case proto.Value.ValueCase.MAP:
return new map_1.SassMap((0, immutable_1.OrderedMap)(value
.getMap()
.getEntriesList()
.map(entry => {
const key = entry.getKey();
case 'map':
return new map_1.SassMap((0, immutable_1.OrderedMap)(value.value.value.entries.map(entry => {
const key = entry.key;
if (!key)
throw utils.mandatoryError('Value.Map.Entry.key');
const value = entry.getValue();
const value = entry.value;
if (!value)

@@ -233,8 +224,8 @@ throw utils.mandatoryError('Value.Map.Entry.value');

})));
case proto.Value.ValueCase.COMPILER_FUNCTION:
return new function_1.SassFunction(value.getCompilerFunction().getId());
case proto.Value.ValueCase.HOST_FUNCTION:
case 'compilerFunction':
return new function_1.SassFunction(value.value.value.id);
case 'hostFunction':
throw utils.compilerError('The compiler may not send Value.host_function.');
case proto.Value.ValueCase.SINGLETON:
switch (value.getSingleton()) {
case 'singleton':
switch (value.value.value) {
case proto.SingletonValue.TRUE:

@@ -246,5 +237,4 @@ return boolean_1.sassTrue;

return null_1.sassNull;
default:
throw utils.compilerError(`Unknown Value.singleton ${value.getSingleton()}`);
}
// eslint-disable-next-line no-fallthrough
default:

@@ -254,9 +244,2 @@ throw utils.mandatoryError('Value.value');

}
/** Converts `number` to its JS representation. */
deprotofyNumber(number) {
return new number_1.SassNumber(number.getValue(), {
numeratorUnits: number.getNumeratorsList(),
denominatorUnits: number.getDenominatorsList(),
});
}
/** Converts `separator` to its JS representation. */

@@ -263,0 +246,0 @@ deprotofySeparator(separator) {

@@ -10,3 +10,3 @@ "use strict";

const url = require("url");
const proto = require("./vendor/embedded-protocol/embedded_sass_pb");
const proto = require("./vendor/embedded_sass_pb");
/**

@@ -13,0 +13,0 @@ * The equivalent of `Promise.then()`, except that if the first argument is a

{
"name": "sass-embedded",
"version": "1.57.1",
"protocol-version": "1.1.0",
"compiler-version": "1.57.1",
"version": "1.58.2",
"protocol-version": "1.2.0",
"compiler-version": "1.58.2",
"description": "Node.js library that communicates with Embedded Dart Sass using the Embedded Sass protocol",

@@ -30,14 +30,14 @@ "repository": "sass/embedded-host-node",

"optionalDependencies": {
"sass-embedded-darwin-arm64": "1.57.1",
"sass-embedded-darwin-x64": "1.57.1",
"sass-embedded-linux-arm": "1.57.1",
"sass-embedded-linux-arm64": "1.57.1",
"sass-embedded-linux-ia32": "1.57.1",
"sass-embedded-linux-x64": "1.57.1",
"sass-embedded-win32-ia32": "1.57.1",
"sass-embedded-win32-x64": "1.57.1"
"sass-embedded-darwin-arm64": "1.58.2",
"sass-embedded-darwin-x64": "1.58.2",
"sass-embedded-linux-arm": "1.58.2",
"sass-embedded-linux-arm64": "1.58.2",
"sass-embedded-linux-ia32": "1.58.2",
"sass-embedded-linux-x64": "1.58.2",
"sass-embedded-win32-ia32": "1.58.2",
"sass-embedded-win32-x64": "1.58.2"
},
"dependencies": {
"@bufbuild/protobuf": "^1.0.0",
"buffer-builder": "^0.2.0",
"google-protobuf": "^3.11.4",
"immutable": "^4.0.0",

@@ -48,7 +48,8 @@ "rxjs": "^7.4.0",

"devDependencies": {
"@bufbuild/buf": "^1.13.1-4",
"@bufbuild/protoc-gen-es": "^1.0.0",
"@types/buffer-builder": "^0.2.0",
"@types/google-protobuf": "^3.7.2",
"@types/jest": "^27.0.2",
"@types/node": "^16.10.3",
"@types/node-fetch": "^2.6.0",
"@types/jest": "^29.4.0",
"@types/node": "^18.11.18",
"@types/shelljs": "^0.8.8",

@@ -61,17 +62,15 @@ "@types/supports-color": "^8.1.1",

"gts": "^4.0.0",
"jest": "^27.2.5",
"minipass": "3.2.1",
"node-fetch": "^2.6.0",
"jest": "^29.4.1",
"minipass": "4.0.3",
"npm-run-all": "^4.1.5",
"protoc": "1.0.4",
"path-equal": "^1.2.5",
"shelljs": "^0.8.4",
"source-map-js": "^0.6.1",
"source-map-js": "^1.0.2",
"tar": "^6.0.5",
"ts-jest": "^27.0.5",
"ts-jest": "^29.0.5",
"ts-node": "^10.2.1",
"ts-protoc-gen": "^0.15.0",
"typescript": "^4.4.3",
"yaml": "^1.10.2",
"yaml": "^2.2.1",
"yargs": "^17.2.1"
}
}

@@ -25,6 +25,6 @@ "use strict";

repo,
outPath: utils.BUILD_PATH,
outPath: 'build',
ref: (_a = options === null || options === void 0 ? void 0 : options.ref) !== null && _a !== void 0 ? _a : 'main',
});
source = p.join(utils.BUILD_PATH, repo);
source = p.join('build', repo);
await maybeOverrideSassDependency(source);

@@ -31,0 +31,0 @@ }

@@ -7,4 +7,3 @@ "use strict";

exports.getEmbeddedProtocol = void 0;
const fs_1 = require("fs");
const p = require("path");
const path_equal_1 = require("path-equal");
const shell = require("shelljs");

@@ -22,4 +21,2 @@ const pkg = require("../package.json");

async function getEmbeddedProtocol(outPath, options) {
const repo = 'embedded-protocol';
let source;
if (!options || 'ref' in options) {

@@ -31,33 +28,17 @@ let ref = options === null || options === void 0 ? void 0 : options.ref;

}
utils.fetchRepo({ repo, outPath: utils.BUILD_PATH, ref });
source = p.join(utils.BUILD_PATH, repo);
utils.fetchRepo({ repo: 'embedded-protocol', outPath: 'build', ref });
}
else {
source = options.path;
else if (!(0, path_equal_1.pathEqual)(options.path, 'build/embedded-protocol')) {
await utils.cleanDir('build/embedded-protocol');
await utils.link(options.path, 'build/embedded-protocol');
}
buildEmbeddedProtocol(source);
await utils.link('build/embedded-protocol', p.join(outPath, repo));
buildEmbeddedProtocol();
}
exports.getEmbeddedProtocol = getEmbeddedProtocol;
// Builds the embedded proto at `repoPath` into a pbjs with TS declaration file.
function buildEmbeddedProtocol(repoPath) {
const proto = p.join(repoPath, 'embedded_sass.proto');
const protocPath = process.platform === 'win32'
? '%CD%/node_modules/protoc/protoc/bin/protoc.exe'
: 'node_modules/protoc/protoc/bin/protoc';
const version = shell
.exec(`${protocPath} --version`, { silent: true })
.stdout.trim();
console.log(`Building pbjs and TS declaration file from ${proto} with ${version}.`);
const pluginPath = process.platform === 'win32'
? '%CD%/node_modules/.bin/protoc-gen-ts.cmd'
: 'node_modules/.bin/protoc-gen-ts';
(0, fs_1.mkdirSync)('build/embedded-protocol', { recursive: true });
shell.exec(`${protocPath} \
--plugin="protoc-gen-ts=${pluginPath}" \
--js_out="import_style=commonjs,binary:build/embedded-protocol" \
--ts_out="build/embedded-protocol" \
--proto_path="${repoPath}" \
${proto}`, { silent: true });
// Builds the embedded proto into a TS file.
function buildEmbeddedProtocol() {
const version = shell.exec('npx buf --version', { silent: true }).stdout.trim();
console.log(`Building TS with buf ${version}.`);
shell.exec('npx buf generate');
}
//# sourceMappingURL=get-embedded-protocol.js.map

@@ -6,3 +6,2 @@ "use strict";

const fs_1 = require("fs");
const node_fetch_1 = require("node-fetch");
const p = require("path");

@@ -65,3 +64,3 @@ const tar_1 = require("tar");

console.log(`Downloading ${options.repo} release asset.`);
const response = await (0, node_fetch_1.default)(options.assetUrl, {
const response = await fetch(options.assetUrl, {
redirect: 'follow',

@@ -72,3 +71,3 @@ });

}
const releaseAsset = await response.buffer();
const releaseAsset = Buffer.from(await response.arrayBuffer());
console.log(`Unzipping ${options.repo} release asset to ${options.outPath}.`);

@@ -75,0 +74,0 @@ await utils.cleanDir(p.join(options.outPath, options.repo));

@@ -48,3 +48,3 @@ "use strict";

try {
await fs_1.promises.rmdir(dir, { recursive: true });
await fs_1.promises.rm(dir, { force: true, recursive: true });
}

@@ -51,0 +51,0 @@ catch (_) {

{
"name": "sass-embedded",
"version": "1.57.1",
"protocol-version": "1.1.0",
"compiler-version": "1.57.1",
"version": "1.58.2",
"protocol-version": "1.2.0",
"compiler-version": "1.58.2",
"description": "Node.js library that communicates with Embedded Dart Sass using the Embedded Sass protocol",

@@ -30,14 +30,14 @@ "repository": "sass/embedded-host-node",

"optionalDependencies": {
"sass-embedded-darwin-arm64": "1.57.1",
"sass-embedded-darwin-x64": "1.57.1",
"sass-embedded-linux-arm": "1.57.1",
"sass-embedded-linux-arm64": "1.57.1",
"sass-embedded-linux-ia32": "1.57.1",
"sass-embedded-linux-x64": "1.57.1",
"sass-embedded-win32-ia32": "1.57.1",
"sass-embedded-win32-x64": "1.57.1"
"sass-embedded-darwin-arm64": "1.58.2",
"sass-embedded-darwin-x64": "1.58.2",
"sass-embedded-linux-arm": "1.58.2",
"sass-embedded-linux-arm64": "1.58.2",
"sass-embedded-linux-ia32": "1.58.2",
"sass-embedded-linux-x64": "1.58.2",
"sass-embedded-win32-ia32": "1.58.2",
"sass-embedded-win32-x64": "1.58.2"
},
"dependencies": {
"@bufbuild/protobuf": "^1.0.0",
"buffer-builder": "^0.2.0",
"google-protobuf": "^3.11.4",
"immutable": "^4.0.0",

@@ -48,7 +48,8 @@ "rxjs": "^7.4.0",

"devDependencies": {
"@bufbuild/buf": "^1.13.1-4",
"@bufbuild/protoc-gen-es": "^1.0.0",
"@types/buffer-builder": "^0.2.0",
"@types/google-protobuf": "^3.7.2",
"@types/jest": "^27.0.2",
"@types/node": "^16.10.3",
"@types/node-fetch": "^2.6.0",
"@types/jest": "^29.4.0",
"@types/node": "^18.11.18",
"@types/shelljs": "^0.8.8",

@@ -61,17 +62,15 @@ "@types/supports-color": "^8.1.1",

"gts": "^4.0.0",
"jest": "^27.2.5",
"minipass": "3.2.1",
"node-fetch": "^2.6.0",
"jest": "^29.4.1",
"minipass": "4.0.3",
"npm-run-all": "^4.1.5",
"protoc": "1.0.4",
"path-equal": "^1.2.5",
"shelljs": "^0.8.4",
"source-map-js": "^0.6.1",
"source-map-js": "^1.0.2",
"tar": "^6.0.5",
"ts-jest": "^27.0.5",
"ts-jest": "^29.0.5",
"ts-node": "^10.2.1",
"ts-protoc-gen": "^0.15.0",
"typescript": "^4.4.3",
"yaml": "^1.10.2",
"yaml": "^2.2.1",
"yargs": "^17.2.1"
}
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet