@vitest/snapshot 2.1.1 → 2.1.2

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 (2) hide show
  1. package/dist/index.js +452 -52
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -5,65 +5,72 @@ function getDefaultExportFromCjs (x) {
5
5
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
6
6
  }
7
7
 
8
- var naturalCompare$2 = {exports: {}};
8
+ var naturalCompare$1 = {exports: {}};
9
9
 
10
- /*
11
- * @version 1.4.0
12
- * @date 2015-10-26
13
- * @stability 3 - Stable
14
- * @author Lauri Rooden (https://github.com/litejs/natural-compare-lite)
15
- * @license MIT License
16
- */
10
+ var hasRequiredNaturalCompare;
11
+
12
+ function requireNaturalCompare () {
13
+ if (hasRequiredNaturalCompare) return naturalCompare$1.exports;
14
+ hasRequiredNaturalCompare = 1;
15
+ /*
16
+ * @version 1.4.0
17
+ * @date 2015-10-26
18
+ * @stability 3 - Stable
19
+ * @author Lauri Rooden (https://github.com/litejs/natural-compare-lite)
20
+ * @license MIT License
21
+ */
17
22
 
18
23
 
19
- var naturalCompare = function(a, b) {
20
- var i, codeA
21
- , codeB = 1
22
- , posA = 0
23
- , posB = 0
24
- , alphabet = String.alphabet;
24
+ var naturalCompare = function(a, b) {
25
+ var i, codeA
26
+ , codeB = 1
27
+ , posA = 0
28
+ , posB = 0
29
+ , alphabet = String.alphabet;
25
30
 
26
- function getCode(str, pos, code) {
27
- if (code) {
28
- for (i = pos; code = getCode(str, i), code < 76 && code > 65;) ++i;
29
- return +str.slice(pos - 1, i)
31
+ function getCode(str, pos, code) {
32
+ if (code) {
33
+ for (i = pos; code = getCode(str, i), code < 76 && code > 65;) ++i;
34
+ return +str.slice(pos - 1, i)
35
+ }
36
+ code = alphabet && alphabet.indexOf(str.charAt(pos));
37
+ return code > -1 ? code + 76 : ((code = str.charCodeAt(pos) || 0), code < 45 || code > 127) ? code
38
+ : code < 46 ? 65 // -
39
+ : code < 48 ? code - 1
40
+ : code < 58 ? code + 18 // 0-9
41
+ : code < 65 ? code - 11
42
+ : code < 91 ? code + 11 // A-Z
43
+ : code < 97 ? code - 37
44
+ : code < 123 ? code + 5 // a-z
45
+ : code - 63
30
46
  }
31
- code = alphabet && alphabet.indexOf(str.charAt(pos));
32
- return code > -1 ? code + 76 : ((code = str.charCodeAt(pos) || 0), code < 45 || code > 127) ? code
33
- : code < 46 ? 65 // -
34
- : code < 48 ? code - 1
35
- : code < 58 ? code + 18 // 0-9
36
- : code < 65 ? code - 11
37
- : code < 91 ? code + 11 // A-Z
38
- : code < 97 ? code - 37
39
- : code < 123 ? code + 5 // a-z
40
- : code - 63
41
- }
42
47
 
43
48
 
44
- if ((a+="") != (b+="")) for (;codeB;) {
45
- codeA = getCode(a, posA++);
46
- codeB = getCode(b, posB++);
49
+ if ((a+="") != (b+="")) for (;codeB;) {
50
+ codeA = getCode(a, posA++);
51
+ codeB = getCode(b, posB++);
47
52
 
48
- if (codeA < 76 && codeB < 76 && codeA > 66 && codeB > 66) {
49
- codeA = getCode(a, posA, posA);
50
- codeB = getCode(b, posB, posA = i);
51
- posB = i;
53
+ if (codeA < 76 && codeB < 76 && codeA > 66 && codeB > 66) {
54
+ codeA = getCode(a, posA, posA);
55
+ codeB = getCode(b, posB, posA = i);
56
+ posB = i;
57
+ }
58
+
59
+ if (codeA != codeB) return (codeA < codeB) ? -1 : 1
52
60
  }
61
+ return 0
62
+ };
53
63
 
54
- if (codeA != codeB) return (codeA < codeB) ? -1 : 1
64
+ try {
65
+ naturalCompare$1.exports = naturalCompare;
66
+ } catch (e) {
67
+ String.naturalCompare = naturalCompare;
55
68
  }
56
- return 0
57
- };
58
-
59
- try {
60
- naturalCompare$2.exports = naturalCompare;
61
- } catch (e) {
62
- String.naturalCompare = naturalCompare;
69
+ return naturalCompare$1.exports;
63
70
  }
64
71
 
65
- var naturalCompareExports = naturalCompare$2.exports;
66
- var naturalCompare$1 = /*@__PURE__*/getDefaultExportFromCjs(naturalCompareExports);
72
+ var naturalCompareExports = requireNaturalCompare();
73
+ var naturalCompare = /*@__PURE__*/getDefaultExportFromCjs(naturalCompareExports);
67
74
 
68
75
  function notNullish(v) {
69
76
  return v != null;
@@ -174,11 +181,404 @@ function offsetToLineNumber(source, offset) {
174
181
  return line + 1;
175
182
  }
176
183
 
177
- // Copyright 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Simon Lydell
178
- // License: MIT.
179
- var LineTerminatorSequence;
180
- LineTerminatorSequence = /\r?\n|[\r\u2028\u2029]/y;
181
- RegExp(LineTerminatorSequence.source);
184
+ var jsTokens_1;
185
+ var hasRequiredJsTokens;
186
+
187
+ function requireJsTokens () {
188
+ if (hasRequiredJsTokens) return jsTokens_1;
189
+ hasRequiredJsTokens = 1;
190
+ // Copyright 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Simon Lydell
191
+ // License: MIT.
192
+ var Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace;
193
+ RegularExpressionLiteral = /\/(?![*\/])(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\\]).|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/yu;
194
+ Punctuator = /--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y;
195
+ Identifier = /(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/yu;
196
+ StringLiteral = /(['"])(?:(?!\1)[^\\\n\r]|\\(?:\r\n|[^]))*(\1)?/y;
197
+ NumericLiteral = /(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y;
198
+ Template = /[`}](?:[^`\\$]|\\[^]|\$(?!\{))*(`|\$\{)?/y;
199
+ WhiteSpace = /[\t\v\f\ufeff\p{Zs}]+/yu;
200
+ LineTerminatorSequence = /\r?\n|[\r\u2028\u2029]/y;
201
+ MultiLineComment = /\/\*(?:[^*]|\*(?!\/))*(\*\/)?/y;
202
+ SingleLineComment = /\/\/.*/y;
203
+ JSXPunctuator = /[<>.:={}]|\/(?![\/*])/y;
204
+ JSXIdentifier = /[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/yu;
205
+ JSXString = /(['"])(?:(?!\1)[^])*(\1)?/y;
206
+ JSXText = /[^<>{}]+/y;
207
+ TokensPrecedingExpression = /^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/;
208
+ TokensNotPrecedingObjectLiteral = /^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/;
209
+ KeywordsWithExpressionAfter = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/;
210
+ KeywordsWithNoLineTerminatorAfter = /^(?:return|throw|yield)$/;
211
+ Newline = RegExp(LineTerminatorSequence.source);
212
+ jsTokens_1 = function*(input, {jsx = false} = {}) {
213
+ var braces, firstCodePoint, isExpression, lastIndex, lastSignificantToken, length, match, mode, nextLastIndex, nextLastSignificantToken, parenNesting, postfixIncDec, punctuator, stack;
214
+ ({length} = input);
215
+ lastIndex = 0;
216
+ lastSignificantToken = "";
217
+ stack = [
218
+ {tag: "JS"}
219
+ ];
220
+ braces = [];
221
+ parenNesting = 0;
222
+ postfixIncDec = false;
223
+ while (lastIndex < length) {
224
+ mode = stack[stack.length - 1];
225
+ switch (mode.tag) {
226
+ case "JS":
227
+ case "JSNonExpressionParen":
228
+ case "InterpolationInTemplate":
229
+ case "InterpolationInJSX":
230
+ if (input[lastIndex] === "/" && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) {
231
+ RegularExpressionLiteral.lastIndex = lastIndex;
232
+ if (match = RegularExpressionLiteral.exec(input)) {
233
+ lastIndex = RegularExpressionLiteral.lastIndex;
234
+ lastSignificantToken = match[0];
235
+ postfixIncDec = true;
236
+ yield ({
237
+ type: "RegularExpressionLiteral",
238
+ value: match[0],
239
+ closed: match[1] !== void 0 && match[1] !== "\\"
240
+ });
241
+ continue;
242
+ }
243
+ }
244
+ Punctuator.lastIndex = lastIndex;
245
+ if (match = Punctuator.exec(input)) {
246
+ punctuator = match[0];
247
+ nextLastIndex = Punctuator.lastIndex;
248
+ nextLastSignificantToken = punctuator;
249
+ switch (punctuator) {
250
+ case "(":
251
+ if (lastSignificantToken === "?NonExpressionParenKeyword") {
252
+ stack.push({
253
+ tag: "JSNonExpressionParen",
254
+ nesting: parenNesting
255
+ });
256
+ }
257
+ parenNesting++;
258
+ postfixIncDec = false;
259
+ break;
260
+ case ")":
261
+ parenNesting--;
262
+ postfixIncDec = true;
263
+ if (mode.tag === "JSNonExpressionParen" && parenNesting === mode.nesting) {
264
+ stack.pop();
265
+ nextLastSignificantToken = "?NonExpressionParenEnd";
266
+ postfixIncDec = false;
267
+ }
268
+ break;
269
+ case "{":
270
+ Punctuator.lastIndex = 0;
271
+ isExpression = !TokensNotPrecedingObjectLiteral.test(lastSignificantToken) && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken));
272
+ braces.push(isExpression);
273
+ postfixIncDec = false;
274
+ break;
275
+ case "}":
276
+ switch (mode.tag) {
277
+ case "InterpolationInTemplate":
278
+ if (braces.length === mode.nesting) {
279
+ Template.lastIndex = lastIndex;
280
+ match = Template.exec(input);
281
+ lastIndex = Template.lastIndex;
282
+ lastSignificantToken = match[0];
283
+ if (match[1] === "${") {
284
+ lastSignificantToken = "?InterpolationInTemplate";
285
+ postfixIncDec = false;
286
+ yield ({
287
+ type: "TemplateMiddle",
288
+ value: match[0]
289
+ });
290
+ } else {
291
+ stack.pop();
292
+ postfixIncDec = true;
293
+ yield ({
294
+ type: "TemplateTail",
295
+ value: match[0],
296
+ closed: match[1] === "`"
297
+ });
298
+ }
299
+ continue;
300
+ }
301
+ break;
302
+ case "InterpolationInJSX":
303
+ if (braces.length === mode.nesting) {
304
+ stack.pop();
305
+ lastIndex += 1;
306
+ lastSignificantToken = "}";
307
+ yield ({
308
+ type: "JSXPunctuator",
309
+ value: "}"
310
+ });
311
+ continue;
312
+ }
313
+ }
314
+ postfixIncDec = braces.pop();
315
+ nextLastSignificantToken = postfixIncDec ? "?ExpressionBraceEnd" : "}";
316
+ break;
317
+ case "]":
318
+ postfixIncDec = true;
319
+ break;
320
+ case "++":
321
+ case "--":
322
+ nextLastSignificantToken = postfixIncDec ? "?PostfixIncDec" : "?UnaryIncDec";
323
+ break;
324
+ case "<":
325
+ if (jsx && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) {
326
+ stack.push({tag: "JSXTag"});
327
+ lastIndex += 1;
328
+ lastSignificantToken = "<";
329
+ yield ({
330
+ type: "JSXPunctuator",
331
+ value: punctuator
332
+ });
333
+ continue;
334
+ }
335
+ postfixIncDec = false;
336
+ break;
337
+ default:
338
+ postfixIncDec = false;
339
+ }
340
+ lastIndex = nextLastIndex;
341
+ lastSignificantToken = nextLastSignificantToken;
342
+ yield ({
343
+ type: "Punctuator",
344
+ value: punctuator
345
+ });
346
+ continue;
347
+ }
348
+ Identifier.lastIndex = lastIndex;
349
+ if (match = Identifier.exec(input)) {
350
+ lastIndex = Identifier.lastIndex;
351
+ nextLastSignificantToken = match[0];
352
+ switch (match[0]) {
353
+ case "for":
354
+ case "if":
355
+ case "while":
356
+ case "with":
357
+ if (lastSignificantToken !== "." && lastSignificantToken !== "?.") {
358
+ nextLastSignificantToken = "?NonExpressionParenKeyword";
359
+ }
360
+ }
361
+ lastSignificantToken = nextLastSignificantToken;
362
+ postfixIncDec = !KeywordsWithExpressionAfter.test(match[0]);
363
+ yield ({
364
+ type: match[1] === "#" ? "PrivateIdentifier" : "IdentifierName",
365
+ value: match[0]
366
+ });
367
+ continue;
368
+ }
369
+ StringLiteral.lastIndex = lastIndex;
370
+ if (match = StringLiteral.exec(input)) {
371
+ lastIndex = StringLiteral.lastIndex;
372
+ lastSignificantToken = match[0];
373
+ postfixIncDec = true;
374
+ yield ({
375
+ type: "StringLiteral",
376
+ value: match[0],
377
+ closed: match[2] !== void 0
378
+ });
379
+ continue;
380
+ }
381
+ NumericLiteral.lastIndex = lastIndex;
382
+ if (match = NumericLiteral.exec(input)) {
383
+ lastIndex = NumericLiteral.lastIndex;
384
+ lastSignificantToken = match[0];
385
+ postfixIncDec = true;
386
+ yield ({
387
+ type: "NumericLiteral",
388
+ value: match[0]
389
+ });
390
+ continue;
391
+ }
392
+ Template.lastIndex = lastIndex;
393
+ if (match = Template.exec(input)) {
394
+ lastIndex = Template.lastIndex;
395
+ lastSignificantToken = match[0];
396
+ if (match[1] === "${") {
397
+ lastSignificantToken = "?InterpolationInTemplate";
398
+ stack.push({
399
+ tag: "InterpolationInTemplate",
400
+ nesting: braces.length
401
+ });
402
+ postfixIncDec = false;
403
+ yield ({
404
+ type: "TemplateHead",
405
+ value: match[0]
406
+ });
407
+ } else {
408
+ postfixIncDec = true;
409
+ yield ({
410
+ type: "NoSubstitutionTemplate",
411
+ value: match[0],
412
+ closed: match[1] === "`"
413
+ });
414
+ }
415
+ continue;
416
+ }
417
+ break;
418
+ case "JSXTag":
419
+ case "JSXTagEnd":
420
+ JSXPunctuator.lastIndex = lastIndex;
421
+ if (match = JSXPunctuator.exec(input)) {
422
+ lastIndex = JSXPunctuator.lastIndex;
423
+ nextLastSignificantToken = match[0];
424
+ switch (match[0]) {
425
+ case "<":
426
+ stack.push({tag: "JSXTag"});
427
+ break;
428
+ case ">":
429
+ stack.pop();
430
+ if (lastSignificantToken === "/" || mode.tag === "JSXTagEnd") {
431
+ nextLastSignificantToken = "?JSX";
432
+ postfixIncDec = true;
433
+ } else {
434
+ stack.push({tag: "JSXChildren"});
435
+ }
436
+ break;
437
+ case "{":
438
+ stack.push({
439
+ tag: "InterpolationInJSX",
440
+ nesting: braces.length
441
+ });
442
+ nextLastSignificantToken = "?InterpolationInJSX";
443
+ postfixIncDec = false;
444
+ break;
445
+ case "/":
446
+ if (lastSignificantToken === "<") {
447
+ stack.pop();
448
+ if (stack[stack.length - 1].tag === "JSXChildren") {
449
+ stack.pop();
450
+ }
451
+ stack.push({tag: "JSXTagEnd"});
452
+ }
453
+ }
454
+ lastSignificantToken = nextLastSignificantToken;
455
+ yield ({
456
+ type: "JSXPunctuator",
457
+ value: match[0]
458
+ });
459
+ continue;
460
+ }
461
+ JSXIdentifier.lastIndex = lastIndex;
462
+ if (match = JSXIdentifier.exec(input)) {
463
+ lastIndex = JSXIdentifier.lastIndex;
464
+ lastSignificantToken = match[0];
465
+ yield ({
466
+ type: "JSXIdentifier",
467
+ value: match[0]
468
+ });
469
+ continue;
470
+ }
471
+ JSXString.lastIndex = lastIndex;
472
+ if (match = JSXString.exec(input)) {
473
+ lastIndex = JSXString.lastIndex;
474
+ lastSignificantToken = match[0];
475
+ yield ({
476
+ type: "JSXString",
477
+ value: match[0],
478
+ closed: match[2] !== void 0
479
+ });
480
+ continue;
481
+ }
482
+ break;
483
+ case "JSXChildren":
484
+ JSXText.lastIndex = lastIndex;
485
+ if (match = JSXText.exec(input)) {
486
+ lastIndex = JSXText.lastIndex;
487
+ lastSignificantToken = match[0];
488
+ yield ({
489
+ type: "JSXText",
490
+ value: match[0]
491
+ });
492
+ continue;
493
+ }
494
+ switch (input[lastIndex]) {
495
+ case "<":
496
+ stack.push({tag: "JSXTag"});
497
+ lastIndex++;
498
+ lastSignificantToken = "<";
499
+ yield ({
500
+ type: "JSXPunctuator",
501
+ value: "<"
502
+ });
503
+ continue;
504
+ case "{":
505
+ stack.push({
506
+ tag: "InterpolationInJSX",
507
+ nesting: braces.length
508
+ });
509
+ lastIndex++;
510
+ lastSignificantToken = "?InterpolationInJSX";
511
+ postfixIncDec = false;
512
+ yield ({
513
+ type: "JSXPunctuator",
514
+ value: "{"
515
+ });
516
+ continue;
517
+ }
518
+ }
519
+ WhiteSpace.lastIndex = lastIndex;
520
+ if (match = WhiteSpace.exec(input)) {
521
+ lastIndex = WhiteSpace.lastIndex;
522
+ yield ({
523
+ type: "WhiteSpace",
524
+ value: match[0]
525
+ });
526
+ continue;
527
+ }
528
+ LineTerminatorSequence.lastIndex = lastIndex;
529
+ if (match = LineTerminatorSequence.exec(input)) {
530
+ lastIndex = LineTerminatorSequence.lastIndex;
531
+ postfixIncDec = false;
532
+ if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {
533
+ lastSignificantToken = "?NoLineTerminatorHere";
534
+ }
535
+ yield ({
536
+ type: "LineTerminatorSequence",
537
+ value: match[0]
538
+ });
539
+ continue;
540
+ }
541
+ MultiLineComment.lastIndex = lastIndex;
542
+ if (match = MultiLineComment.exec(input)) {
543
+ lastIndex = MultiLineComment.lastIndex;
544
+ if (Newline.test(match[0])) {
545
+ postfixIncDec = false;
546
+ if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {
547
+ lastSignificantToken = "?NoLineTerminatorHere";
548
+ }
549
+ }
550
+ yield ({
551
+ type: "MultiLineComment",
552
+ value: match[0],
553
+ closed: match[1] !== void 0
554
+ });
555
+ continue;
556
+ }
557
+ SingleLineComment.lastIndex = lastIndex;
558
+ if (match = SingleLineComment.exec(input)) {
559
+ lastIndex = SingleLineComment.lastIndex;
560
+ postfixIncDec = false;
561
+ yield ({
562
+ type: "SingleLineComment",
563
+ value: match[0]
564
+ });
565
+ continue;
566
+ }
567
+ firstCodePoint = String.fromCodePoint(input.codePointAt(lastIndex));
568
+ lastIndex += firstCodePoint.length;
569
+ lastSignificantToken = firstCodePoint;
570
+ postfixIncDec = false;
571
+ yield ({
572
+ type: mode.tag.startsWith("JSX") ? "JSXInvalid" : "Invalid",
573
+ value: firstCodePoint
574
+ });
575
+ }
576
+ return void 0;
577
+ };
578
+ return jsTokens_1;
579
+ }
580
+
581
+ requireJsTokens();
182
582
 
183
583
  // src/index.ts
184
584
  var reservedWords = {
@@ -421,7 +821,7 @@ function normalizeNewlines(string) {
421
821
  return string.replace(/\r\n|\r/g, "\n");
422
822
  }
423
823
  async function saveSnapshotFile(environment, snapshotData, snapshotPath) {
424
- const snapshots = Object.keys(snapshotData).sort(naturalCompare$1).map(
824
+ const snapshots = Object.keys(snapshotData).sort(naturalCompare).map(
425
825
  (key) => `exports[${printBacktickString(key)}] = ${printBacktickString(
426
826
  normalizeNewlines(snapshotData[key])
427
827
  )};`
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vitest/snapshot",
3
3
  "type": "module",
4
- "version": "2.1.1",
4
+ "version": "2.1.2",
5
5
  "description": "Vitest snapshot manager",
6
6
  "license": "MIT",
7
7
  "funding": "https://opencollective.com/vitest",
@@ -40,12 +40,12 @@
40
40
  "dependencies": {
41
41
  "magic-string": "^0.30.11",
42
42
  "pathe": "^1.1.2",
43
- "@vitest/pretty-format": "2.1.1"
43
+ "@vitest/pretty-format": "2.1.2"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/natural-compare": "^1.4.3",
47
47
  "natural-compare": "^1.4.0",
48
- "@vitest/utils": "2.1.1"
48
+ "@vitest/utils": "2.1.2"
49
49
  },
50
50
  "scripts": {
51
51
  "build": "rimraf dist && rollup -c",