sass-embedded 1.66.1 → 1.69.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/jest.config.js +8 -0
  2. package/dist/jest.config.js.map +1 -0
  3. package/dist/lib/index.js +3 -1
  4. package/dist/lib/index.js.map +1 -1
  5. package/dist/lib/index.mjs +5 -0
  6. package/dist/lib/src/compile.js +22 -13
  7. package/dist/lib/src/compile.js.map +1 -1
  8. package/dist/lib/src/importer-registry.js +15 -4
  9. package/dist/lib/src/importer-registry.js.map +1 -1
  10. package/dist/lib/src/legacy/importer.js +25 -30
  11. package/dist/lib/src/legacy/importer.js.map +1 -1
  12. package/dist/lib/src/legacy/index.js +27 -25
  13. package/dist/lib/src/legacy/index.js.map +1 -1
  14. package/dist/lib/src/legacy/utils.js +55 -0
  15. package/dist/lib/src/legacy/utils.js.map +1 -0
  16. package/dist/lib/src/message-transformer.test.js +81 -0
  17. package/dist/lib/src/message-transformer.test.js.map +1 -0
  18. package/dist/lib/src/packet-transformer.test.js +124 -0
  19. package/dist/lib/src/packet-transformer.test.js.map +1 -0
  20. package/dist/lib/src/protofier.js +8 -0
  21. package/dist/lib/src/protofier.js.map +1 -1
  22. package/dist/lib/src/request-tracker.test.js +71 -0
  23. package/dist/lib/src/request-tracker.test.js.map +1 -0
  24. package/dist/lib/src/sync-process/index.js +1 -1
  25. package/dist/lib/src/sync-process/index.js.map +1 -1
  26. package/dist/lib/src/sync-process/index.test.js +129 -0
  27. package/dist/lib/src/sync-process/index.test.js.map +1 -0
  28. package/dist/lib/src/sync-process/sync-message-port.test.js +125 -0
  29. package/dist/lib/src/sync-process/sync-message-port.test.js.map +1 -0
  30. package/dist/lib/src/utils.test.js +32 -0
  31. package/dist/lib/src/utils.test.js.map +1 -0
  32. package/dist/lib/src/value/index.js +10 -0
  33. package/dist/lib/src/value/index.js.map +1 -1
  34. package/dist/lib/src/value/mixin.js +29 -0
  35. package/dist/lib/src/value/mixin.js.map +1 -0
  36. package/dist/lib/src/vendor/embedded_sass_pb.js +79 -18
  37. package/dist/lib/src/vendor/embedded_sass_pb.js.map +1 -1
  38. package/dist/package.json +18 -14
  39. package/dist/test/dependencies.test.js +18 -0
  40. package/dist/test/dependencies.test.js.map +1 -0
  41. package/dist/test/sandbox.js +35 -0
  42. package/dist/test/sandbox.js.map +1 -0
  43. package/dist/test/utils.js +58 -0
  44. package/dist/test/utils.js.map +1 -0
  45. package/dist/tool/get-embedded-compiler.js +1 -1
  46. package/dist/tool/get-language-repo.js +2 -1
  47. package/dist/tool/get-language-repo.js.map +1 -1
  48. package/dist/tool/init.js +1 -1
  49. package/dist/tool/init.js.map +1 -1
  50. package/dist/tool/prepare-optional-release.js +1 -1
  51. package/dist/tool/prepare-optional-release.js.map +1 -1
  52. package/dist/tool/prepare-release.js +1 -1
  53. package/dist/tool/prepare-release.js.map +1 -1
  54. package/dist/tool/utils.js +8 -3
  55. package/dist/tool/utils.js.map +1 -1
  56. package/dist/types/importer.d.ts +48 -14
  57. package/dist/types/index.d.ts +7 -1
  58. package/dist/types/value/index.d.ts +10 -0
  59. package/dist/types/value/mixin.d.ts +14 -0
  60. package/package.json +18 -14
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ // Copyright 2023 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.legacyFileUrlToPath = exports.pathToLegacyFileUrl = exports.removeLegacyImporterFromSpan = exports.removeLegacyImporter = exports.legacyImporterProtocolPrefix = exports.legacyImporterProtocol = void 0;
7
+ const assert_1 = require("assert");
8
+ const url_1 = require("url");
9
+ const utils_1 = require("../utils");
10
+ const importer_1 = require("./importer");
11
+ /**
12
+ * The URL protocol to use for URLs canonicalized using `LegacyImporterWrapper`.
13
+ */
14
+ exports.legacyImporterProtocol = 'legacy-importer:';
15
+ /**
16
+ * The prefix for absolute URLs canonicalized using `LegacyImporterWrapper`.
17
+ *
18
+ * This is used to distinguish imports resolved relative to URLs returned by a
19
+ * legacy importer from manually-specified absolute URLs.
20
+ */
21
+ exports.legacyImporterProtocolPrefix = 'legacy-importer-';
22
+ /// A regular expression that matches legacy importer protocol syntax that
23
+ /// should be removed from human-readable messages.
24
+ const removeLegacyImporterRegExp = new RegExp(`${exports.legacyImporterProtocol}|${exports.legacyImporterProtocolPrefix}`, 'g');
25
+ /// Returns `string` with all instances of legacy importer syntax removed.
26
+ function removeLegacyImporter(string) {
27
+ return string.replace(removeLegacyImporterRegExp, '');
28
+ }
29
+ exports.removeLegacyImporter = removeLegacyImporter;
30
+ /// Returns a copy of [span] with the URL updated to remove legacy importer
31
+ /// syntax.
32
+ function removeLegacyImporterFromSpan(span) {
33
+ if (!span.url)
34
+ return span;
35
+ return { ...span, url: new URL(removeLegacyImporter(span.url.toString())) };
36
+ }
37
+ exports.removeLegacyImporterFromSpan = removeLegacyImporterFromSpan;
38
+ /// Converts [path] to a `file:` URL and adds the [legacyImporterProtocolPrefix]
39
+ /// to the beginning so we can distinguish it from manually-specified absolute
40
+ /// `file:` URLs.
41
+ function pathToLegacyFileUrl(path) {
42
+ return new URL(`${exports.legacyImporterProtocolPrefix}${(0, url_1.pathToFileURL)(path)}`);
43
+ }
44
+ exports.pathToLegacyFileUrl = pathToLegacyFileUrl;
45
+ /// Converts a `file:` URL with [legacyImporterProtocolPrefix] to the filesystem
46
+ /// path which it represents.
47
+ function legacyFileUrlToPath(url) {
48
+ assert_1.strict.equal(url.protocol, importer_1.legacyImporterFileProtocol);
49
+ const originalUrl = url
50
+ .toString()
51
+ .substring(exports.legacyImporterProtocolPrefix.length);
52
+ return (0, utils_1.fileUrlToPathCrossPlatform)(originalUrl);
53
+ }
54
+ exports.legacyFileUrlToPath = legacyFileUrlToPath;
55
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/src/legacy/utils.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,mCAAwC;AACxC,6BAAkC;AAElC,oCAAoD;AAEpD,yCAAsD;AAEtD;;GAEG;AACU,QAAA,sBAAsB,GAAG,kBAAkB,CAAC;AAEzD;;;;;GAKG;AACU,QAAA,4BAA4B,GAAG,kBAAkB,CAAC;AAE/D,0EAA0E;AAC1E,mDAAmD;AACnD,MAAM,0BAA0B,GAAG,IAAI,MAAM,CAC3C,GAAG,8BAAsB,IAAI,oCAA4B,EAAE,EAC3D,GAAG,CACJ,CAAC;AAEF,0EAA0E;AAC1E,SAAgB,oBAAoB,CAAC,MAAc;IACjD,OAAO,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAFD,oDAEC;AAED,2EAA2E;AAC3E,WAAW;AACX,SAAgB,4BAA4B,CAAC,IAAgB;IAC3D,IAAI,CAAC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,EAAC,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAC,CAAC;AAC5E,CAAC;AAHD,oEAGC;AAED,gFAAgF;AAChF,8EAA8E;AAC9E,iBAAiB;AACjB,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI,GAAG,CAAC,GAAG,oCAA4B,GAAG,IAAA,mBAAa,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AAFD,kDAEC;AAED,gFAAgF;AAChF,6BAA6B;AAC7B,SAAgB,mBAAmB,CAAC,GAAQ;IAC1C,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,qCAA0B,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,GAAG;SACpB,QAAQ,EAAE;SACV,SAAS,CAAC,oCAA4B,CAAC,MAAM,CAAC,CAAC;IAClD,OAAO,IAAA,kCAA0B,EAAC,WAAW,CAAC,CAAC;AACjD,CAAC;AAND,kDAMC"}
@@ -0,0 +1,81 @@
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
+ const rxjs_1 = require("rxjs");
7
+ const varint = require("varint");
8
+ const utils_1 = require("../../test/utils");
9
+ const message_transformer_1 = require("./message-transformer");
10
+ const proto = require("./vendor/embedded_sass_pb");
11
+ describe('message transformer', () => {
12
+ let messages;
13
+ function validInboundMessage(source) {
14
+ return new proto.InboundMessage({
15
+ message: {
16
+ case: 'compileRequest',
17
+ value: new proto.InboundMessage_CompileRequest({
18
+ input: {
19
+ case: 'string',
20
+ value: new proto.InboundMessage_CompileRequest_StringInput({
21
+ source,
22
+ }),
23
+ },
24
+ }),
25
+ },
26
+ });
27
+ }
28
+ describe('encode', () => {
29
+ let encodedProtobufs;
30
+ beforeEach(() => {
31
+ encodedProtobufs = [];
32
+ messages = new message_transformer_1.MessageTransformer(new rxjs_1.Observable(), buffer => encodedProtobufs.push(buffer));
33
+ });
34
+ it('encodes an InboundMessage to buffer', () => {
35
+ const message = validInboundMessage('a {b: c}');
36
+ messages.writeInboundMessage([1234, message]);
37
+ expect(encodedProtobufs).toEqual([
38
+ Uint8Array.from([...varint.encode(1234), ...message.toBinary()]),
39
+ ]);
40
+ });
41
+ });
42
+ describe('decode', () => {
43
+ let protobufs$;
44
+ let decodedMessages;
45
+ beforeEach(() => {
46
+ protobufs$ = new rxjs_1.Subject();
47
+ messages = new message_transformer_1.MessageTransformer(protobufs$, () => { });
48
+ decodedMessages = [];
49
+ });
50
+ it('decodes buffer to OutboundMessage', done => {
51
+ messages.outboundMessages$.subscribe({
52
+ next: message => decodedMessages.push(message),
53
+ complete: () => {
54
+ expect(decodedMessages.length).toBe(1);
55
+ const [id, message] = decodedMessages[0];
56
+ expect(id).toBe(1234);
57
+ expect(message.message.case).toBe('compileResponse');
58
+ const response = message.message
59
+ .value;
60
+ expect(response.result.case).toBe('success');
61
+ expect(response.result
62
+ .value.css).toBe('a {b: c}');
63
+ done();
64
+ },
65
+ });
66
+ protobufs$.next(Uint8Array.from([
67
+ ...varint.encode(1234),
68
+ ...validInboundMessage('a {b: c}').toBinary(),
69
+ ]));
70
+ protobufs$.complete();
71
+ });
72
+ describe('protocol error', () => {
73
+ it('fails on invalid buffer', done => {
74
+ (0, utils_1.expectObservableToError)(messages.outboundMessages$, 'Compiler caused error: Invalid compilation ID varint: RangeError: ' +
75
+ 'Could not decode varint.', done);
76
+ protobufs$.next(Buffer.from([-1]));
77
+ });
78
+ });
79
+ });
80
+ });
81
+ //# sourceMappingURL=message-transformer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-transformer.test.js","sourceRoot":"","sources":["../../../lib/src/message-transformer.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
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
+ const rxjs_1 = require("rxjs");
7
+ const packet_transformer_1 = require("./packet-transformer");
8
+ describe('packet transformer', () => {
9
+ let packets;
10
+ describe('encode', () => {
11
+ let encodedBuffers;
12
+ beforeEach(() => {
13
+ encodedBuffers = [];
14
+ packets = new packet_transformer_1.PacketTransformer(new rxjs_1.Observable(), buffer => encodedBuffers.push(buffer));
15
+ });
16
+ it('encodes an empty message', () => {
17
+ packets.writeInboundProtobuf(Buffer.from([]));
18
+ expect(encodedBuffers).toEqual([Buffer.from([0])]);
19
+ });
20
+ it('encodes a message of length 1', () => {
21
+ packets.writeInboundProtobuf(Buffer.from([123]));
22
+ expect(encodedBuffers).toEqual([Buffer.from([1, 123])]);
23
+ });
24
+ it('encodes a message of length greater than 256', () => {
25
+ packets.writeInboundProtobuf(Buffer.alloc(300, 1));
26
+ expect(encodedBuffers).toEqual([
27
+ Buffer.from([172, 2, ...new Array(300).fill(1)]),
28
+ ]);
29
+ });
30
+ it('encodes multiple messages', () => {
31
+ packets.writeInboundProtobuf(Buffer.from([10]));
32
+ packets.writeInboundProtobuf(Buffer.from([20, 30]));
33
+ packets.writeInboundProtobuf(Buffer.from([40, 50, 60]));
34
+ expect(encodedBuffers).toEqual([
35
+ Buffer.from([1, 10]),
36
+ Buffer.from([2, 20, 30]),
37
+ Buffer.from([3, 40, 50, 60]),
38
+ ]);
39
+ });
40
+ });
41
+ describe('decode', () => {
42
+ let rawBuffers$;
43
+ function expectDecoding(expected, done) {
44
+ const actual = [];
45
+ packets.outboundProtobufs$.subscribe({
46
+ next: protobuf => actual.push(protobuf),
47
+ error: () => fail('expected correct decoding'),
48
+ complete: () => {
49
+ expect(actual).toEqual(expected);
50
+ done();
51
+ },
52
+ });
53
+ }
54
+ beforeEach(() => {
55
+ rawBuffers$ = new rxjs_1.Subject();
56
+ packets = new packet_transformer_1.PacketTransformer(rawBuffers$, () => { });
57
+ });
58
+ describe('empty message', () => {
59
+ it('decodes a single chunk', done => {
60
+ expectDecoding([Buffer.from([])], done);
61
+ rawBuffers$.next(Buffer.from([0]));
62
+ rawBuffers$.complete();
63
+ });
64
+ it('decodes a chunk that contains more data', done => {
65
+ expectDecoding([Buffer.from([]), Buffer.from([100])], done);
66
+ rawBuffers$.next(Buffer.from([0, 1, 100]));
67
+ rawBuffers$.complete();
68
+ });
69
+ });
70
+ describe('longer message', () => {
71
+ it('decodes a single chunk', done => {
72
+ expectDecoding([Buffer.from(Buffer.from([1, 2, 3, 4]))], done);
73
+ rawBuffers$.next(Buffer.from([4, 1, 2, 3, 4]));
74
+ rawBuffers$.complete();
75
+ });
76
+ it('decodes multiple chunks', done => {
77
+ expectDecoding([Buffer.alloc(300, 1)], done);
78
+ rawBuffers$.next(Buffer.from([172]));
79
+ rawBuffers$.next(Buffer.from([2, 1]));
80
+ rawBuffers$.next(Buffer.from(Buffer.alloc(299, 1)));
81
+ rawBuffers$.complete();
82
+ });
83
+ it('decodes one chunk per byte', done => {
84
+ expectDecoding([Buffer.alloc(300, 1)], done);
85
+ for (const byte of [172, 2, ...Buffer.alloc(300, 1)]) {
86
+ rawBuffers$.next(Buffer.from([byte]));
87
+ }
88
+ rawBuffers$.complete();
89
+ });
90
+ it('decodes a chunk that contains more data', done => {
91
+ expectDecoding([Buffer.from([1, 2, 3, 4]), Buffer.from([0])], done);
92
+ rawBuffers$.next(Buffer.from([4, 1, 2, 3, 4, 1, 0]));
93
+ rawBuffers$.complete();
94
+ });
95
+ it('decodes a full chunk of length greater than 256', done => {
96
+ expectDecoding([Buffer.from(new Array(300).fill(1))], done);
97
+ rawBuffers$.next(Buffer.from([172, 2, ...new Array(300).fill(1)]));
98
+ rawBuffers$.complete();
99
+ });
100
+ });
101
+ describe('multiple messages', () => {
102
+ it('decodes a single chunk', done => {
103
+ expectDecoding([Buffer.from([1, 2, 3, 4]), Buffer.from([101, 102])], done);
104
+ rawBuffers$.next(Buffer.from([4, 1, 2, 3, 4, 2, 101, 102]));
105
+ rawBuffers$.complete();
106
+ });
107
+ it('decodes multiple chunks', done => {
108
+ expectDecoding([Buffer.from([1, 2, 3, 4]), Buffer.alloc(300, 1)], done);
109
+ rawBuffers$.next(Buffer.from([4]));
110
+ rawBuffers$.next(Buffer.from([1, 2, 3, 4, 172]));
111
+ rawBuffers$.next(Buffer.from([2, ...Buffer.alloc(300, 1)]));
112
+ rawBuffers$.complete();
113
+ });
114
+ it('decodes one chunk per byte', done => {
115
+ expectDecoding([Buffer.from([1, 2, 3, 4]), Buffer.alloc(300, 1)], done);
116
+ for (const byte of [4, 1, 2, 3, 4, 172, 2, ...Buffer.alloc(300, 1)]) {
117
+ rawBuffers$.next(Buffer.from([byte]));
118
+ }
119
+ rawBuffers$.complete();
120
+ });
121
+ });
122
+ });
123
+ });
124
+ //# sourceMappingURL=packet-transformer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"packet-transformer.test.js","sourceRoot":"","sources":["../../../lib/src/packet-transformer.test.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ const string_1 = require("./value/string");
17
17
  const null_1 = require("./value/null");
18
18
  const boolean_1 = require("./value/boolean");
19
19
  const calculations_1 = require("./value/calculations");
20
+ const mixin_1 = require("./value/mixin");
20
21
  /**
21
22
  * A class that converts [Value] objects into protobufs.
22
23
  *
@@ -118,6 +119,11 @@ class Protofier {
118
119
  result.value = { case: 'hostFunction', value: fn };
119
120
  }
120
121
  }
122
+ else if (value instanceof mixin_1.SassMixin) {
123
+ const mixin = new proto.Value_CompilerMixin();
124
+ mixin.id = value.id;
125
+ result.value = { case: 'compilerMixin', value: mixin };
126
+ }
121
127
  else if (value instanceof calculations_1.SassCalculation) {
122
128
  result.value = {
123
129
  case: 'calculation',
@@ -286,6 +292,8 @@ class Protofier {
286
292
  return new function_1.SassFunction(value.value.value.id);
287
293
  case 'hostFunction':
288
294
  throw utils.compilerError('The compiler may not send Value.host_function.');
295
+ case 'compilerMixin':
296
+ return new mixin_1.SassMixin(value.value.value.id);
289
297
  case 'calculation':
290
298
  return this.deprotofyCalculation(value.value.value);
291
299
  case 'singleton':
@@ -1 +1 @@
1
- {"version":3,"file":"protofier.js","sourceRoot":"","sources":["../../../lib/src/protofier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protofier.js","sourceRoot":"","sources":["../../../lib/src/protofier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
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
+ const request_tracker_1 = require("./request-tracker");
7
+ describe('request tracker', () => {
8
+ let tracker;
9
+ beforeEach(() => {
10
+ tracker = new request_tracker_1.RequestTracker();
11
+ });
12
+ it('returns the next ID when empty', () => {
13
+ expect(tracker.nextId).toBe(0);
14
+ });
15
+ describe('tracking requests', () => {
16
+ it('tracks when empty', () => {
17
+ tracker.add(0, 'compileResponse');
18
+ expect(tracker.nextId).toBe(1);
19
+ });
20
+ it('tracks multiple requests', () => {
21
+ tracker.add(0, 'compileResponse');
22
+ tracker.add(1, 'compileResponse');
23
+ tracker.add(2, 'compileResponse');
24
+ expect(tracker.nextId).toBe(3);
25
+ });
26
+ it('tracks starting from a non-zero ID', () => {
27
+ tracker.add(1, 'compileResponse');
28
+ expect(tracker.nextId).toBe(0);
29
+ tracker.add(0, 'compileResponse');
30
+ expect(tracker.nextId).toBe(2);
31
+ });
32
+ it('errors if the request ID is invalid', () => {
33
+ expect(() => tracker.add(-1, 'compileResponse')).toThrowError('Invalid request ID -1.');
34
+ });
35
+ it('errors if the request ID overlaps that of an existing in-flight request', () => {
36
+ tracker.add(0, 'compileResponse');
37
+ expect(() => tracker.add(0, 'compileResponse')).toThrowError('Request ID 0 is already in use by an in-flight request.');
38
+ });
39
+ });
40
+ describe('resolving requests', () => {
41
+ it('resolves a single request', () => {
42
+ tracker.add(0, 'compileResponse');
43
+ tracker.resolve(0, 'compileResponse');
44
+ expect(tracker.nextId).toBe(0);
45
+ });
46
+ it('resolves multiple requests', () => {
47
+ tracker.add(0, 'compileResponse');
48
+ tracker.add(1, 'compileResponse');
49
+ tracker.add(2, 'compileResponse');
50
+ tracker.resolve(1, 'compileResponse');
51
+ tracker.resolve(2, 'compileResponse');
52
+ tracker.resolve(0, 'compileResponse');
53
+ expect(tracker.nextId).toBe(0);
54
+ });
55
+ it('reuses the ID of a resolved request', () => {
56
+ tracker.add(0, 'compileResponse');
57
+ tracker.add(1, 'compileResponse');
58
+ tracker.resolve(0, 'compileResponse');
59
+ expect(tracker.nextId).toBe(0);
60
+ });
61
+ it('errors if the response ID does not match any existing request IDs', () => {
62
+ expect(() => tracker.resolve(0, 'compileResponse')).toThrowError('Response ID 0 does not match any pending requests.');
63
+ });
64
+ it('errors if the response type does not match what the request is expecting', () => {
65
+ tracker.add(0, 'importResponse');
66
+ expect(() => tracker.resolve(0, 'fileImportResponse')).toThrowError("Response with ID 0 does not match pending request's type. Expected " +
67
+ 'importResponse but received fileImportResponse.');
68
+ });
69
+ });
70
+ });
71
+ //# sourceMappingURL=request-tracker.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-tracker.test.js","sourceRoot":"","sources":["../../../lib/src/request-tracker.test.ts"],"names":[],"mappings":"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"}
@@ -95,7 +95,7 @@ class SyncProcess {
95
95
  /** Closes down the worker thread and the stdin stream. */
96
96
  close() {
97
97
  this.port.close();
98
- this.worker.terminate();
98
+ void this.worker.terminate();
99
99
  this.stdin.destroy();
100
100
  }
101
101
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/src/sync-process/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/src/sync-process/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ // Copyright 2021 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
+ const fs = require("fs");
7
+ const p = require("path");
8
+ const del = require("del");
9
+ const index_1 = require("./index");
10
+ describe('SyncProcess', () => {
11
+ describe('stdio', () => {
12
+ it('emits stdout', () => {
13
+ withJSProcess('console.log("hello, world!");', node => {
14
+ expectStdout(node.yield(), 'hello, world!\n');
15
+ });
16
+ });
17
+ it('emits stderr', () => {
18
+ withJSProcess('console.error("hello, world!");', node => {
19
+ expectStderr(node.yield(), 'hello, world!\n');
20
+ });
21
+ });
22
+ it('receives stdin', () => {
23
+ withJSProcess('process.stdin.on("data", (data) => process.stdout.write(data));', node => {
24
+ node.stdin.write('hi there!\n');
25
+ expectStdout(node.yield(), 'hi there!\n');
26
+ node.stdin.write('fblthp\n');
27
+ expectStdout(node.yield(), 'fblthp\n');
28
+ });
29
+ });
30
+ it('closes stdin', () => {
31
+ withJSProcess(`
32
+ process.stdin.on("data", () => {});
33
+ process.stdin.on("end", () => console.log("closed!"));
34
+ `, node => {
35
+ node.stdin.end();
36
+ expectStdout(node.yield(), 'closed!\n');
37
+ });
38
+ });
39
+ });
40
+ describe('emits exit', () => {
41
+ it('with code 0 by default', () => {
42
+ withJSProcess('', node => {
43
+ expectExit(node.yield(), 0);
44
+ });
45
+ });
46
+ it('with a non-0 code', () => {
47
+ withJSProcess('process.exit(123);', node => {
48
+ expectExit(node.yield(), 123);
49
+ });
50
+ });
51
+ it('with a signal code', () => {
52
+ withJSProcess('for (;;) {}', node => {
53
+ node.kill('SIGINT');
54
+ expectExit(node.yield(), 'SIGINT');
55
+ });
56
+ });
57
+ });
58
+ it('passes options to the subprocess', () => {
59
+ withJSFile('console.log(process.env.SYNC_PROCESS_TEST);', file => {
60
+ const node = new index_1.SyncProcess(process.argv0, [file], {
61
+ env: { ...process.env, SYNC_PROCESS_TEST: 'abcdef' },
62
+ });
63
+ expectStdout(node.yield(), 'abcdef\n');
64
+ node.kill();
65
+ });
66
+ });
67
+ });
68
+ /** Asserts that `event` is a `StdoutEvent` with text `text`. */
69
+ function expectStdout(event, text) {
70
+ if (event.type === 'stderr') {
71
+ throw `Expected stdout event, was stderr event: ${event.data.toString()}`;
72
+ }
73
+ expect(event.type).toEqual('stdout');
74
+ expect(event.data.toString()).toEqual(text);
75
+ }
76
+ /** Asserts that `event` is a `StderrEvent` with text `text`. */
77
+ function expectStderr(event, text) {
78
+ if (event.type === 'stdout') {
79
+ throw `Expected stderr event, was stdout event: ${event.data.toString()}`;
80
+ }
81
+ expect(event.type).toEqual('stderr');
82
+ expect(event.data.toString()).toEqual(text);
83
+ }
84
+ /**
85
+ * Asserts that `event` is an `ExitEvent` with either the given exit code (if
86
+ * `codeOrSignal` is a number) or signal (if `codeOrSignal` is a string).
87
+ */
88
+ function expectExit(event, codeOrSignal) {
89
+ if (event.type !== 'exit') {
90
+ throw (`Expected exit event, was ${event.type} event: ` + event.data.toString());
91
+ }
92
+ expect(event).toEqual(typeof codeOrSignal === 'number'
93
+ ? { type: 'exit', code: codeOrSignal }
94
+ : { type: 'exit', signal: codeOrSignal });
95
+ }
96
+ /**
97
+ * Starts a `SyncProcess` running a JS file with the given `contents` and passes
98
+ * it to `callback`.
99
+ */
100
+ function withJSProcess(contents, callback) {
101
+ return withJSFile(contents, file => {
102
+ const node = new index_1.SyncProcess(process.argv0, [file]);
103
+ try {
104
+ callback(node);
105
+ }
106
+ finally {
107
+ node.kill();
108
+ }
109
+ });
110
+ }
111
+ /**
112
+ * Creates a JS file with the given `contents` for the duration of `callback`.
113
+ *
114
+ * The `callback` is passed the name of the created file.
115
+ */
116
+ function withJSFile(contents, callback) {
117
+ const testDir = p.join('spec', 'sandbox', `${Math.random()}`.slice(2));
118
+ fs.mkdirSync(testDir, { recursive: true });
119
+ const file = p.join(testDir, 'script.js');
120
+ fs.writeFileSync(file, contents);
121
+ try {
122
+ callback(file);
123
+ }
124
+ finally {
125
+ // TODO(awjin): Change this to rmSync once we drop support for Node 12.
126
+ del.sync(testDir, { force: true });
127
+ }
128
+ }
129
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../lib/src/sync-process/index.test.ts"],"names":[],"mappings":"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"}