sass-embedded 1.69.7 → 1.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/index.js +10 -4
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +25 -0
- package/dist/lib/src/compile.js +28 -228
- package/dist/lib/src/compile.js.map +1 -1
- package/dist/lib/src/compiler/async.js +127 -0
- package/dist/lib/src/compiler/async.js.map +1 -0
- package/dist/lib/src/compiler/sync.js +146 -0
- package/dist/lib/src/compiler/sync.js.map +1 -0
- package/dist/lib/src/compiler/utils.js +153 -0
- package/dist/lib/src/compiler/utils.js.map +1 -0
- package/dist/lib/src/dispatcher.js +23 -5
- package/dist/lib/src/dispatcher.js.map +1 -1
- package/dist/lib/src/function-registry.js +4 -7
- package/dist/lib/src/function-registry.js.map +1 -1
- package/dist/lib/src/importer-registry.js +28 -2
- package/dist/lib/src/importer-registry.js.map +1 -1
- package/dist/lib/src/legacy/index.js +9 -2
- package/dist/lib/src/legacy/index.js.map +1 -1
- package/dist/lib/src/legacy/utils.js +10 -10
- package/dist/lib/src/legacy/utils.js.map +1 -1
- package/dist/lib/src/logger.js +10 -0
- package/dist/lib/src/logger.js.map +1 -0
- package/dist/lib/src/vendor/embedded_sass_pb.js +51 -1
- package/dist/lib/src/vendor/embedded_sass_pb.js.map +1 -1
- package/dist/package.json +19 -19
- package/dist/tool/utils.js +2 -2
- package/dist/tool/utils.js.map +1 -1
- package/dist/types/compile.d.ts +184 -6
- package/dist/types/importer.d.ts +133 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.m.d.ts +5 -0
- package/dist/types/legacy/options.d.ts +19 -0
- package/dist/types/options.d.ts +4 -4
- package/package.json +19 -19
- package/dist/lib/src/async-compiler.js +0 -42
- package/dist/lib/src/async-compiler.js.map +0 -1
- package/dist/lib/src/sync-compiler.js +0 -55
- package/dist/lib/src/sync-compiler.js.map +0 -1
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2024 Google LLC. 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.initCompiler = exports.Compiler = void 0;
|
|
7
|
+
const rxjs_1 = require("rxjs");
|
|
8
|
+
const path = require("path");
|
|
9
|
+
const utils_1 = require("./utils");
|
|
10
|
+
const compiler_path_1 = require("../compiler-path");
|
|
11
|
+
const function_registry_1 = require("../function-registry");
|
|
12
|
+
const importer_registry_1 = require("../importer-registry");
|
|
13
|
+
const message_transformer_1 = require("../message-transformer");
|
|
14
|
+
const packet_transformer_1 = require("../packet-transformer");
|
|
15
|
+
const sync_process_1 = require("../sync-process");
|
|
16
|
+
const utils = require("../utils");
|
|
17
|
+
/**
|
|
18
|
+
* Flag allowing the constructor passed by `initCompiler` so we can
|
|
19
|
+
* differentiate and throw an error if the `Compiler` is constructed via `new
|
|
20
|
+
* Compiler`.
|
|
21
|
+
*/
|
|
22
|
+
const initFlag = Symbol();
|
|
23
|
+
/** A synchronous wrapper for the embedded Sass compiler */
|
|
24
|
+
class Compiler {
|
|
25
|
+
/** Writes `buffer` to the child process's stdin. */
|
|
26
|
+
writeStdin(buffer) {
|
|
27
|
+
this.process.stdin.write(buffer);
|
|
28
|
+
}
|
|
29
|
+
/** Yields the next event from the underlying process. */
|
|
30
|
+
yield() {
|
|
31
|
+
const event = this.process.yield();
|
|
32
|
+
switch (event.type) {
|
|
33
|
+
case 'stdout':
|
|
34
|
+
this.stdout$.next(event.data);
|
|
35
|
+
return true;
|
|
36
|
+
case 'stderr':
|
|
37
|
+
this.stderr$.next(event.data);
|
|
38
|
+
return true;
|
|
39
|
+
case 'exit':
|
|
40
|
+
this.disposed = true;
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/** Blocks until the underlying process exits. */
|
|
45
|
+
yieldUntilExit() {
|
|
46
|
+
while (!this.disposed) {
|
|
47
|
+
this.yield();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Sends a compile request to the child process and returns the CompileResult.
|
|
52
|
+
* Throws if there were any protocol or compilation errors.
|
|
53
|
+
*/
|
|
54
|
+
compileRequestSync(request, importers, options) {
|
|
55
|
+
const functions = new function_registry_1.FunctionRegistry(options === null || options === void 0 ? void 0 : options.functions);
|
|
56
|
+
const dispatcher = (0, utils_1.createDispatcher)(this.compilationId++, this.messageTransformer, {
|
|
57
|
+
handleImportRequest: request => importers.import(request),
|
|
58
|
+
handleFileImportRequest: request => importers.fileImport(request),
|
|
59
|
+
handleCanonicalizeRequest: request => importers.canonicalize(request),
|
|
60
|
+
handleFunctionCallRequest: request => functions.call(request),
|
|
61
|
+
});
|
|
62
|
+
this.dispatchers.add(dispatcher);
|
|
63
|
+
dispatcher.logEvents$.subscribe(event => (0, utils_1.handleLogEvent)(options, event));
|
|
64
|
+
let error;
|
|
65
|
+
let response;
|
|
66
|
+
dispatcher.sendCompileRequest(request, (error_, response_) => {
|
|
67
|
+
this.dispatchers.delete(dispatcher);
|
|
68
|
+
// Reset the compilation ID when the compiler goes idle (no active
|
|
69
|
+
// dispatchers) to avoid overflowing it.
|
|
70
|
+
// https://github.com/sass/embedded-host-node/pull/261#discussion_r1429266794
|
|
71
|
+
if (this.dispatchers.size === 0)
|
|
72
|
+
this.compilationId = 1;
|
|
73
|
+
if (error_) {
|
|
74
|
+
error = error_;
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
response = response_;
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
for (;;) {
|
|
81
|
+
if (!this.yield()) {
|
|
82
|
+
throw utils.compilerError('Embedded compiler exited unexpectedly.');
|
|
83
|
+
}
|
|
84
|
+
if (error)
|
|
85
|
+
throw error;
|
|
86
|
+
if (response)
|
|
87
|
+
return (0, utils_1.handleCompileResponse)(response);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/** Guards against using a disposed compiler. */
|
|
91
|
+
throwIfDisposed() {
|
|
92
|
+
if (this.disposed) {
|
|
93
|
+
throw utils.compilerError('Sync compiler has already been disposed.');
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** Initialize resources shared across compilations. */
|
|
97
|
+
constructor(flag) {
|
|
98
|
+
/** The underlying process that's being wrapped. */
|
|
99
|
+
this.process = new sync_process_1.SyncProcess(compiler_path_1.compilerCommand[0], [...compiler_path_1.compilerCommand.slice(1), '--embedded'], {
|
|
100
|
+
// Use the command's cwd so the compiler survives the removal of the
|
|
101
|
+
// current working directory.
|
|
102
|
+
// https://github.com/sass/embedded-host-node/pull/261#discussion_r1438712923
|
|
103
|
+
cwd: path.dirname(compiler_path_1.compilerCommand[0]),
|
|
104
|
+
windowsHide: true,
|
|
105
|
+
});
|
|
106
|
+
/** The next compilation ID. */
|
|
107
|
+
this.compilationId = 1;
|
|
108
|
+
/** A list of active dispatchers. */
|
|
109
|
+
this.dispatchers = new Set();
|
|
110
|
+
/** The buffers emitted by the child process's stdout. */
|
|
111
|
+
this.stdout$ = new rxjs_1.Subject();
|
|
112
|
+
/** The buffers emitted by the child process's stderr. */
|
|
113
|
+
this.stderr$ = new rxjs_1.Subject();
|
|
114
|
+
/** Whether the underlying compiler has already exited. */
|
|
115
|
+
this.disposed = false;
|
|
116
|
+
if (flag !== initFlag) {
|
|
117
|
+
throw utils.compilerError('Compiler can not be directly constructed. ' +
|
|
118
|
+
'Please use `sass.initAsyncCompiler()` instead.');
|
|
119
|
+
}
|
|
120
|
+
this.stderr$.subscribe(data => process.stderr.write(data));
|
|
121
|
+
const packetTransformer = new packet_transformer_1.PacketTransformer(this.stdout$, buffer => {
|
|
122
|
+
this.writeStdin(buffer);
|
|
123
|
+
});
|
|
124
|
+
this.messageTransformer = new message_transformer_1.MessageTransformer(packetTransformer.outboundProtobufs$, packet => packetTransformer.writeInboundProtobuf(packet));
|
|
125
|
+
}
|
|
126
|
+
compile(path, options) {
|
|
127
|
+
this.throwIfDisposed();
|
|
128
|
+
const importers = new importer_registry_1.ImporterRegistry(options);
|
|
129
|
+
return this.compileRequestSync((0, utils_1.newCompilePathRequest)(path, importers, options), importers, options);
|
|
130
|
+
}
|
|
131
|
+
compileString(source, options) {
|
|
132
|
+
this.throwIfDisposed();
|
|
133
|
+
const importers = new importer_registry_1.ImporterRegistry(options);
|
|
134
|
+
return this.compileRequestSync((0, utils_1.newCompileStringRequest)(source, importers, options), importers, options);
|
|
135
|
+
}
|
|
136
|
+
dispose() {
|
|
137
|
+
this.process.stdin.end();
|
|
138
|
+
this.yieldUntilExit();
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
exports.Compiler = Compiler;
|
|
142
|
+
function initCompiler() {
|
|
143
|
+
return new Compiler(initFlag);
|
|
144
|
+
}
|
|
145
|
+
exports.initCompiler = initCompiler;
|
|
146
|
+
//# sourceMappingURL=sync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../../lib/src/compiler/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright 2024 Google LLC. 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.handleCompileResponse = exports.handleLogEvent = exports.newCompileStringRequest = exports.newCompilePathRequest = exports.createDispatcher = void 0;
|
|
7
|
+
const p = require("path");
|
|
8
|
+
const supportsColor = require("supports-color");
|
|
9
|
+
const deprotofy_span_1 = require("../deprotofy-span");
|
|
10
|
+
const dispatcher_1 = require("../dispatcher");
|
|
11
|
+
const exception_1 = require("../exception");
|
|
12
|
+
const utils_1 = require("../legacy/utils");
|
|
13
|
+
const logger_1 = require("../logger");
|
|
14
|
+
const utils = require("../utils");
|
|
15
|
+
const proto = require("../vendor/embedded_sass_pb");
|
|
16
|
+
/**
|
|
17
|
+
* Creates a dispatcher that dispatches messages from the given `stdout` stream.
|
|
18
|
+
*/
|
|
19
|
+
function createDispatcher(compilationId, messageTransformer, handlers) {
|
|
20
|
+
return new dispatcher_1.Dispatcher(compilationId, messageTransformer.outboundMessages$, message => messageTransformer.writeInboundMessage(message), handlers);
|
|
21
|
+
}
|
|
22
|
+
exports.createDispatcher = createDispatcher;
|
|
23
|
+
// Creates a compilation request for the given `options` without adding any
|
|
24
|
+
// input-specific options.
|
|
25
|
+
function newCompileRequest(importers, options) {
|
|
26
|
+
var _a, _b, _c, _d;
|
|
27
|
+
const request = new proto.InboundMessage_CompileRequest({
|
|
28
|
+
importers: importers.importers,
|
|
29
|
+
globalFunctions: Object.keys((_a = options === null || options === void 0 ? void 0 : options.functions) !== null && _a !== void 0 ? _a : {}),
|
|
30
|
+
sourceMap: !!(options === null || options === void 0 ? void 0 : options.sourceMap),
|
|
31
|
+
sourceMapIncludeSources: !!(options === null || options === void 0 ? void 0 : options.sourceMapIncludeSources),
|
|
32
|
+
alertColor: (_b = options === null || options === void 0 ? void 0 : options.alertColor) !== null && _b !== void 0 ? _b : !!supportsColor.stdout,
|
|
33
|
+
alertAscii: !!(options === null || options === void 0 ? void 0 : options.alertAscii),
|
|
34
|
+
quietDeps: !!(options === null || options === void 0 ? void 0 : options.quietDeps),
|
|
35
|
+
verbose: !!(options === null || options === void 0 ? void 0 : options.verbose),
|
|
36
|
+
charset: !!((_c = options === null || options === void 0 ? void 0 : options.charset) !== null && _c !== void 0 ? _c : true),
|
|
37
|
+
silent: (options === null || options === void 0 ? void 0 : options.logger) === logger_1.Logger.silent,
|
|
38
|
+
});
|
|
39
|
+
switch ((_d = options === null || options === void 0 ? void 0 : options.style) !== null && _d !== void 0 ? _d : 'expanded') {
|
|
40
|
+
case 'expanded':
|
|
41
|
+
request.style = proto.OutputStyle.EXPANDED;
|
|
42
|
+
break;
|
|
43
|
+
case 'compressed':
|
|
44
|
+
request.style = proto.OutputStyle.COMPRESSED;
|
|
45
|
+
break;
|
|
46
|
+
default:
|
|
47
|
+
throw new Error(`Unknown options.style: "${options === null || options === void 0 ? void 0 : options.style}"`);
|
|
48
|
+
}
|
|
49
|
+
return request;
|
|
50
|
+
}
|
|
51
|
+
// Creates a request for compiling a file.
|
|
52
|
+
function newCompilePathRequest(path, importers, options) {
|
|
53
|
+
const absPath = p.resolve(path);
|
|
54
|
+
const request = newCompileRequest(importers, options);
|
|
55
|
+
request.input = { case: 'path', value: absPath };
|
|
56
|
+
return request;
|
|
57
|
+
}
|
|
58
|
+
exports.newCompilePathRequest = newCompilePathRequest;
|
|
59
|
+
// Creates a request for compiling a string.
|
|
60
|
+
function newCompileStringRequest(source, importers, options) {
|
|
61
|
+
var _a, _b;
|
|
62
|
+
const input = new proto.InboundMessage_CompileRequest_StringInput({
|
|
63
|
+
source,
|
|
64
|
+
syntax: utils.protofySyntax((_a = options === null || options === void 0 ? void 0 : options.syntax) !== null && _a !== void 0 ? _a : 'scss'),
|
|
65
|
+
});
|
|
66
|
+
const url = (_b = options === null || options === void 0 ? void 0 : options.url) === null || _b === void 0 ? void 0 : _b.toString();
|
|
67
|
+
if (url && url !== utils_1.legacyImporterProtocol) {
|
|
68
|
+
input.url = url;
|
|
69
|
+
}
|
|
70
|
+
if (options && 'importer' in options && options.importer) {
|
|
71
|
+
input.importer = importers.register(options.importer);
|
|
72
|
+
}
|
|
73
|
+
else if (url === utils_1.legacyImporterProtocol) {
|
|
74
|
+
input.importer = new proto.InboundMessage_CompileRequest_Importer({
|
|
75
|
+
importer: { case: 'path', value: p.resolve('.') },
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
// When importer is not set on the host, the compiler will set a
|
|
80
|
+
// FileSystemImporter if `url` is set to a file: url or a NoOpImporter.
|
|
81
|
+
}
|
|
82
|
+
const request = newCompileRequest(importers, options);
|
|
83
|
+
request.input = { case: 'string', value: input };
|
|
84
|
+
return request;
|
|
85
|
+
}
|
|
86
|
+
exports.newCompileStringRequest = newCompileStringRequest;
|
|
87
|
+
/** Handles a log event according to `options`. */
|
|
88
|
+
function handleLogEvent(options, event) {
|
|
89
|
+
var _a, _b;
|
|
90
|
+
let span = event.span ? (0, deprotofy_span_1.deprotofySourceSpan)(event.span) : null;
|
|
91
|
+
if (span && (options === null || options === void 0 ? void 0 : options.legacy))
|
|
92
|
+
span = (0, utils_1.removeLegacyImporterFromSpan)(span);
|
|
93
|
+
let message = event.message;
|
|
94
|
+
if (options === null || options === void 0 ? void 0 : options.legacy)
|
|
95
|
+
message = (0, utils_1.removeLegacyImporter)(message);
|
|
96
|
+
let formatted = event.formatted;
|
|
97
|
+
if (options === null || options === void 0 ? void 0 : options.legacy)
|
|
98
|
+
formatted = (0, utils_1.removeLegacyImporter)(formatted);
|
|
99
|
+
if (event.type === proto.LogEventType.DEBUG) {
|
|
100
|
+
if ((_a = options === null || options === void 0 ? void 0 : options.logger) === null || _a === void 0 ? void 0 : _a.debug) {
|
|
101
|
+
options.logger.debug(message, {
|
|
102
|
+
span: span,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
console.error(formatted);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
if ((_b = options === null || options === void 0 ? void 0 : options.logger) === null || _b === void 0 ? void 0 : _b.warn) {
|
|
111
|
+
const params = {
|
|
112
|
+
deprecation: event.type === proto.LogEventType.DEPRECATION_WARNING,
|
|
113
|
+
};
|
|
114
|
+
if (span)
|
|
115
|
+
params.span = span;
|
|
116
|
+
const stack = event.stackTrace;
|
|
117
|
+
if (stack) {
|
|
118
|
+
params.stack = (options === null || options === void 0 ? void 0 : options.legacy) ? (0, utils_1.removeLegacyImporter)(stack) : stack;
|
|
119
|
+
}
|
|
120
|
+
options.logger.warn(message, params);
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
console.error(formatted);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.handleLogEvent = handleLogEvent;
|
|
128
|
+
/**
|
|
129
|
+
* Converts a `CompileResponse` into a `CompileResult`.
|
|
130
|
+
*
|
|
131
|
+
* Throws a `SassException` if the compilation failed.
|
|
132
|
+
*/
|
|
133
|
+
function handleCompileResponse(response) {
|
|
134
|
+
if (response.result.case === 'success') {
|
|
135
|
+
const success = response.result.value;
|
|
136
|
+
const result = {
|
|
137
|
+
css: success.css,
|
|
138
|
+
loadedUrls: response.loadedUrls.map(url => new URL(url)),
|
|
139
|
+
};
|
|
140
|
+
const sourceMap = success.sourceMap;
|
|
141
|
+
if (sourceMap)
|
|
142
|
+
result.sourceMap = JSON.parse(sourceMap);
|
|
143
|
+
return result;
|
|
144
|
+
}
|
|
145
|
+
else if (response.result.case === 'failure') {
|
|
146
|
+
throw new exception_1.Exception(response.result.value);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
throw utils.compilerError('Compiler sent empty CompileResponse.');
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.handleCompileResponse = handleCompileResponse;
|
|
153
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/src/compiler/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,6 +41,10 @@ class Dispatcher {
|
|
|
41
41
|
// All outbound messages for this compilation. If we detect any errors while
|
|
42
42
|
// dispatching messages, this completes.
|
|
43
43
|
this.messages$ = new rxjs_1.Subject();
|
|
44
|
+
// Subject to unsubscribe from all outbound messages to prevent past
|
|
45
|
+
// dispatchers with compilation IDs reused by future dispatchers from
|
|
46
|
+
// receiving messages intended for future dispatchers.
|
|
47
|
+
this.unsubscribe$ = new rxjs_1.Subject();
|
|
44
48
|
// If the dispatcher encounters an error, this errors out. It is publicly
|
|
45
49
|
// exposed as a readonly Observable.
|
|
46
50
|
this.errorInternal$ = new rxjs_1.Subject();
|
|
@@ -64,7 +68,7 @@ class Dispatcher {
|
|
|
64
68
|
return result instanceof Promise
|
|
65
69
|
? result.then(() => message)
|
|
66
70
|
: [message];
|
|
67
|
-
}))
|
|
71
|
+
}), (0, operators_1.takeUntil)(this.unsubscribe$))
|
|
68
72
|
.subscribe({
|
|
69
73
|
next: message => this.messages$.next(message),
|
|
70
74
|
error: error => this.throwAndClose(error),
|
|
@@ -76,21 +80,29 @@ class Dispatcher {
|
|
|
76
80
|
}
|
|
77
81
|
/**
|
|
78
82
|
* Sends a CompileRequest inbound. Passes the corresponding outbound
|
|
79
|
-
* CompileResponse or an error to `callback
|
|
83
|
+
* CompileResponse or an error to `callback` and unsubscribes from all
|
|
84
|
+
* outbound events.
|
|
80
85
|
*
|
|
81
86
|
* This uses an old-style callback argument so that it can work either
|
|
82
87
|
* synchronously or asynchronously. If the underlying stdout stream emits
|
|
83
88
|
* events synchronously, `callback` will be called synchronously.
|
|
84
89
|
*/
|
|
85
90
|
sendCompileRequest(request, callback) {
|
|
91
|
+
// Call the callback but unsubscribe first
|
|
92
|
+
const callback_ = (err, response) => {
|
|
93
|
+
this.unsubscribe();
|
|
94
|
+
return callback(err, response);
|
|
95
|
+
};
|
|
86
96
|
if (this.messages$.isStopped) {
|
|
87
|
-
|
|
97
|
+
callback_(new Error('Tried writing to closed dispatcher'), undefined);
|
|
88
98
|
return;
|
|
89
99
|
}
|
|
90
100
|
this.messages$
|
|
91
101
|
.pipe((0, operators_1.filter)(message => message.message.case === 'compileResponse'), (0, operators_1.map)(message => message.message.value))
|
|
92
|
-
.subscribe({ next: response =>
|
|
93
|
-
this.error$.subscribe({
|
|
102
|
+
.subscribe({ next: response => callback_(null, response) });
|
|
103
|
+
this.error$.subscribe({
|
|
104
|
+
error: error => callback_(error, undefined),
|
|
105
|
+
});
|
|
94
106
|
try {
|
|
95
107
|
this.writeInboundMessage([
|
|
96
108
|
this.compilationId,
|
|
@@ -103,11 +115,17 @@ class Dispatcher {
|
|
|
103
115
|
this.throwAndClose(error);
|
|
104
116
|
}
|
|
105
117
|
}
|
|
118
|
+
// Stop the outbound message subscription.
|
|
119
|
+
unsubscribe() {
|
|
120
|
+
this.unsubscribe$.next(undefined);
|
|
121
|
+
this.unsubscribe$.complete();
|
|
122
|
+
}
|
|
106
123
|
// Rejects with `error` all promises awaiting an outbound response, and
|
|
107
124
|
// silently closes all subscriptions awaiting outbound events.
|
|
108
125
|
throwAndClose(error) {
|
|
109
126
|
this.messages$.complete();
|
|
110
127
|
this.errorInternal$.error(error);
|
|
128
|
+
this.unsubscribe();
|
|
111
129
|
}
|
|
112
130
|
// Keeps track of all outbound messages. If the outbound `message` contains a
|
|
113
131
|
// request or response, registers it with pendingOutboundRequests. If it
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../lib/src/dispatcher.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,+BAAyC;AACzC,
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../lib/src/dispatcher.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,+BAAyC;AACzC,8CAAgE;AAGhE,mDAAmD;AACnD,uDAAiD;AACjD,mCAAoE;AAQpE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAa,UAAU;IAkCrB,YACmB,aAAqB,EACrB,iBAEhB,EACgB,mBAER,EACQ,uBAAiD;QAPjD,kBAAa,GAAb,aAAa,CAAQ;QACrB,sBAAiB,GAAjB,iBAAiB,CAEjC;QACgB,wBAAmB,GAAnB,mBAAmB,CAE3B;QACQ,4BAAuB,GAAvB,uBAAuB,CAA0B;QAzCpE,6EAA6E;QAC7E,kCAAkC;QACjB,4BAAuB,GAAG,IAAI,gCAAc,EAAE,CAAC;QAEhE,4EAA4E;QAC5E,wCAAwC;QACvB,cAAS,GAAG,IAAI,cAAO,EAAyB,CAAC;QAElE,oEAAoE;QACpE,qEAAqE;QACrE,sDAAsD;QACrC,iBAAY,GAAG,IAAI,cAAO,EAAQ,CAAC;QAEpD,yEAAyE;QACzE,oCAAoC;QACnB,mBAAc,GAAG,IAAI,cAAO,EAAQ,CAAC;QAEtD;;;;WAIG;QACM,WAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAE7C;;;WAGG;QACM,eAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CACvC,IAAA,kBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,CAAC,EACtD,IAAA,eAAG,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAuC,CAAC,CACxE,CAAC;QAYA,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,KAAK,CAAC,0BAA0B,aAAa,GAAG,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,CAAC,iBAAiB;aACnB,IAAI,CACH,IAAA,kBAAM,EAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,CAAC,EACjE,IAAA,eAAG,EAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAC7B,IAAA,oBAAQ,EAAC,OAAO,CAAC,EAAE;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACnD,OAAO,MAAM,YAAY,OAAO;gBAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;gBAC5B,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChB,CAAC,CAAC,EACF,IAAA,qBAAS,EAAC,IAAI,CAAC,YAAY,CAAC,CAC7B;aACA,SAAS,CAAC;YACT,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7C,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YACzC,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;YACjC,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;OAQG;IACH,kBAAkB,CAChB,OAA4C,EAC5C,QAA0B;QAE1B,0CAA0C;QAC1C,MAAM,SAAS,GAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YACpD,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC;QAEF,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAC7B,SAAS,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,EAAE,SAAS,CAAC,CAAC;YACtE,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS;aACX,IAAI,CACH,IAAA,kBAAM,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAiB,CAAC,EAC7D,IAAA,eAAG,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAyB,CAAC,CAC1D;aACA,SAAS,CAAC,EAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAC,CAAC,CAAC;QAE5D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YACpB,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC;SAC5C,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC;gBACvB,IAAI,CAAC,aAAa;gBAClB,IAAI,KAAK,CAAC,cAAc,CAAC;oBACvB,OAAO,EAAE,EAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAC;iBAClD,CAAC;aACH,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,0CAA0C;IAClC,WAAW;QACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,uEAAuE;IACvE,8DAA8D;IACtD,aAAa,CAAC,KAAc;QAClC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,6EAA6E;IAC7E,wEAAwE;IACxE,2EAA2E;IAC3E,uCAAuC;IAC/B,qBAAqB,CAC3B,OAA8B;QAE9B,QAAQ,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAC7B,KAAK,UAAU;gBACb,sCAAsC;gBACtC,OAAO,SAAS,CAAC;YAEnB,KAAK,iBAAiB;gBACpB,8CAA8C;gBAC9C,OAAO,SAAS,CAAC;YAEnB,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC;gBAC9B,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAE3C,OAAO,IAAA,cAAM,EACX,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,CAAC,OAAO,CAAC,EACzD,QAAQ,CAAC,EAAE;oBACT,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;gBAC7D,CAAC,CACF,CAAC;YACJ,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,oBAAoB,CAAC;gBAClC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3C,OAAO,IAAA,cAAM,EACX,IAAI,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAC7D,QAAQ,CAAC,EAAE;oBACT,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;gBAC7D,CAAC,CACF,CAAC;YACJ,CAAC;YAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,sBAAsB,CAAC;gBACpC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3C,OAAO,IAAA,cAAM,EACX,IAAI,CAAC,uBAAuB,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAC/D,QAAQ,CAAC,EAAE;oBACT,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;gBAC7D,CAAC,CACF,CAAC;YACJ,CAAC;YAED,KAAK,qBAAqB,CAAC,CAAC,CAAC;gBAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtC,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,sBAAsB,CAAC;gBACpC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3C,OAAO,IAAA,cAAM,EACX,IAAI,CAAC,uBAAuB,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAC/D,QAAQ,CAAC,EAAE;oBACT,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,EAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;gBAC7D,CAAC,CACF,CAAC;YACJ,CAAC;YAED,KAAK,OAAO;gBACV,MAAM,IAAA,iBAAS,EAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAEjD;gBACE,MAAM,IAAA,qBAAa,EAAC,wBAAwB,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,wEAAwE;IAChE,kBAAkB,CACxB,SAAiB,EACjB,OAGC;QAED,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,SAAS,CAAC;QAE7B,IACE,OAAO,CAAC,IAAI,KAAK,gBAAgB;YACjC,OAAO,CAAC,IAAI,KAAK,oBAAoB;YACrC,OAAO,CAAC,IAAI,KAAK,sBAAsB;YACvC,OAAO,CAAC,IAAI,KAAK,sBAAsB,EACvC,CAAC;YACD,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,wBAAwB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC;YACvB,IAAI,CAAC,aAAa;YAClB,IAAI,KAAK,CAAC,cAAc,CAAC,EAAC,OAAO,EAAC,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;CACF;AA1OD,gCA0OC"}
|
|
@@ -10,11 +10,6 @@ const proto = require("./vendor/embedded_sass_pb");
|
|
|
10
10
|
const utils_1 = require("./utils");
|
|
11
11
|
const protofier_1 = require("./protofier");
|
|
12
12
|
const value_1 = require("./value");
|
|
13
|
-
/**
|
|
14
|
-
* The next ID to use for a function. The embedded protocol requires that
|
|
15
|
-
* function IDs be globally unique.
|
|
16
|
-
*/
|
|
17
|
-
let nextFunctionID = 0;
|
|
18
13
|
/**
|
|
19
14
|
* Tracks functions that are defined on the host so that the compiler can
|
|
20
15
|
* execute them.
|
|
@@ -24,6 +19,8 @@ class FunctionRegistry {
|
|
|
24
19
|
this.functionsByName = new Map();
|
|
25
20
|
this.functionsById = new Map();
|
|
26
21
|
this.idsByFunction = new Map();
|
|
22
|
+
/** The next ID to use for a function. */
|
|
23
|
+
this.id = 0;
|
|
27
24
|
for (const [signature, fn] of Object.entries(functionsBySignature !== null && functionsBySignature !== void 0 ? functionsBySignature : {})) {
|
|
28
25
|
const openParen = signature.indexOf('(');
|
|
29
26
|
if (openParen === -1) {
|
|
@@ -35,8 +32,8 @@ class FunctionRegistry {
|
|
|
35
32
|
/** Registers `fn` as a function that can be called using the returned ID. */
|
|
36
33
|
register(fn) {
|
|
37
34
|
return utils.putIfAbsent(this.idsByFunction, fn, () => {
|
|
38
|
-
const id =
|
|
39
|
-
|
|
35
|
+
const id = this.id;
|
|
36
|
+
this.id += 1;
|
|
40
37
|
this.functionsById.set(id, fn);
|
|
41
38
|
return id;
|
|
42
39
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function-registry.js","sourceRoot":"","sources":["../../../lib/src/function-registry.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,+BAA6B;AAG7B,iCAAiC;AAEjC,mDAAmD;AACnD,mCAAkE;AAClE,2CAAsC;AACtC,mCAA8B;AAE9B;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"function-registry.js","sourceRoot":"","sources":["../../../lib/src/function-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,13 +3,31 @@
|
|
|
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.ImporterRegistry = void 0;
|
|
6
|
+
exports.ImporterRegistry = exports.NodePackageImporter = void 0;
|
|
7
7
|
const p = require("path");
|
|
8
8
|
const url_1 = require("url");
|
|
9
9
|
const util_1 = require("util");
|
|
10
10
|
const utils = require("./utils");
|
|
11
11
|
const proto = require("./vendor/embedded_sass_pb");
|
|
12
12
|
const utils_1 = require("./utils");
|
|
13
|
+
const entryPointDirectoryKey = Symbol();
|
|
14
|
+
class NodePackageImporter {
|
|
15
|
+
constructor(entryPointDirectory) {
|
|
16
|
+
var _a;
|
|
17
|
+
entryPointDirectory = entryPointDirectory
|
|
18
|
+
? p.resolve(entryPointDirectory)
|
|
19
|
+
: ((_a = require.main) === null || _a === void 0 ? void 0 : _a.filename)
|
|
20
|
+
? p.dirname(require.main.filename)
|
|
21
|
+
: undefined;
|
|
22
|
+
if (!entryPointDirectory) {
|
|
23
|
+
throw new Error('The Node package importer cannot determine an entry point ' +
|
|
24
|
+
'because `require.main.filename` is not defined. ' +
|
|
25
|
+
'Please provide an `entryPointDirectory` to the `NodePackageImporter`.');
|
|
26
|
+
}
|
|
27
|
+
this[entryPointDirectoryKey] = entryPointDirectory;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.NodePackageImporter = NodePackageImporter;
|
|
13
31
|
/**
|
|
14
32
|
* A registry of importers defined in the host that can be invoked by the
|
|
15
33
|
* compiler.
|
|
@@ -33,7 +51,15 @@ class ImporterRegistry {
|
|
|
33
51
|
register(importer) {
|
|
34
52
|
var _a;
|
|
35
53
|
const message = new proto.InboundMessage_CompileRequest_Importer();
|
|
36
|
-
if (
|
|
54
|
+
if (importer instanceof NodePackageImporter) {
|
|
55
|
+
const importerMessage = new proto.NodePackageImporter();
|
|
56
|
+
importerMessage.entryPointDirectory = importer[entryPointDirectoryKey];
|
|
57
|
+
message.importer = {
|
|
58
|
+
case: 'nodePackageImporter',
|
|
59
|
+
value: importerMessage,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
else if ('canonicalize' in importer) {
|
|
37
63
|
if ('findFileUrl' in importer) {
|
|
38
64
|
throw new Error('Importer may not contain both canonicalize() and findFileUrl(): ' +
|
|
39
65
|
(0, util_1.inspect)(importer));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"importer-registry.js","sourceRoot":"","sources":["../../../lib/src/importer-registry.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,0BAA0B;AAC1B,6BAAwB;AACxB,+BAA6B;AAE7B,iCAAiC;AAEjC,mDAAmD;AACnD,mCAAmD;AAEnD;;;GAGG;AACH,MAAa,gBAAgB;IAa3B,YAAY,OAAuB;;QATnC,gEAAgE;QAC/C,kBAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;QAEnE,qEAAqE;QACpD,sBAAiB,GAAG,IAAI,GAAG,EAA8B,CAAC;QAE3E,0CAA0C;QAClC,OAAE,GAAG,CAAC,CAAC;QAGb,IAAI,CAAC,SAAS,GAAG,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,EAAE,CAAC;aACxC,GAAG,CAAC,QAAQ,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"importer-registry.js","sourceRoot":"","sources":["../../../lib/src/importer-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ exports.renderSync = exports.render = void 0;
|
|
|
7
7
|
const fs = require("fs");
|
|
8
8
|
const p = require("path");
|
|
9
9
|
const url_1 = require("url");
|
|
10
|
+
const importer_registry_1 = require("../importer-registry");
|
|
10
11
|
const exception_1 = require("../exception");
|
|
11
12
|
const compile_1 = require("../compile");
|
|
12
13
|
const utils_1 = require("../utils");
|
|
@@ -103,7 +104,9 @@ function convertOptions(options, sync) {
|
|
|
103
104
|
: undefined;
|
|
104
105
|
return {
|
|
105
106
|
functions,
|
|
106
|
-
importers
|
|
107
|
+
importers: options.pkgImporter instanceof importer_registry_1.NodePackageImporter
|
|
108
|
+
? [options.pkgImporter, ...(importers !== null && importers !== void 0 ? importers : [])]
|
|
109
|
+
: importers,
|
|
107
110
|
sourceMap: wasSourceMapRequested(options),
|
|
108
111
|
sourceMapIncludeSources: options.sourceMapContents,
|
|
109
112
|
loadPaths: importers ? undefined : options.includePaths,
|
|
@@ -117,7 +120,11 @@ function convertOptions(options, sync) {
|
|
|
117
120
|
}
|
|
118
121
|
// Converts `LegacyStringOptions` into new API `StringOptions`.
|
|
119
122
|
function convertStringOptions(options, sync) {
|
|
123
|
+
var _a;
|
|
120
124
|
const modernOptions = convertOptions(options, sync);
|
|
125
|
+
// Find the first non-NodePackageImporter to pass as legacy `importer` option.
|
|
126
|
+
// NodePackageImporter will be passed in `modernOptions.importers`.
|
|
127
|
+
const importer = (_a = modernOptions.importers) === null || _a === void 0 ? void 0 : _a.find(_importer => !(_importer instanceof importer_registry_1.NodePackageImporter));
|
|
121
128
|
return {
|
|
122
129
|
...modernOptions,
|
|
123
130
|
url: options.file
|
|
@@ -125,7 +132,7 @@ function convertStringOptions(options, sync) {
|
|
|
125
132
|
? (0, utils_2.pathToLegacyFileUrl)(options.file)
|
|
126
133
|
: (0, url_1.pathToFileURL)(options.file)
|
|
127
134
|
: new url_1.URL(utils_2.legacyImporterProtocol),
|
|
128
|
-
importer
|
|
135
|
+
importer,
|
|
129
136
|
syntax: options.indentedSyntax ? 'indented' : 'scss',
|
|
130
137
|
};
|
|
131
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/src/legacy/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yBAAyB;AACzB,0BAA0B;AAC1B,6BAAuC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/src/legacy/index.ts"],"names":[],"mappings":"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"}
|