sass-embedded 1.63.5 → 1.64.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 CHANGED
@@ -3,7 +3,7 @@
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.NULL = exports.FALSE = exports.TRUE = exports.Logger = exports.info = exports.renderSync = exports.render = exports.compileStringAsync = exports.compileAsync = exports.compileString = exports.compile = exports.Exception = exports.types = exports.sassNull = exports.Value = exports.SassString = exports.SassNumber = exports.SassMap = exports.SassFunction = exports.SassColor = exports.sassTrue = exports.sassFalse = exports.SassArgumentList = exports.SassList = void 0;
6
+ exports.NULL = exports.FALSE = exports.TRUE = exports.Logger = exports.info = exports.renderSync = exports.render = exports.compileStringAsync = exports.compileAsync = exports.compileString = exports.compile = exports.Exception = exports.types = exports.SassCalculation = exports.CalculationInterpolation = exports.CalculationOperation = exports.sassNull = exports.Value = exports.SassString = exports.SassNumber = exports.SassMap = exports.SassFunction = exports.SassColor = exports.sassTrue = exports.sassFalse = exports.SassArgumentList = exports.SassList = void 0;
7
7
  const pkg = require("../package.json");
8
8
  const boolean_1 = require("./src/value/boolean");
9
9
  const null_1 = require("./src/value/null");
@@ -28,6 +28,10 @@ var value_1 = require("./src/value");
28
28
  Object.defineProperty(exports, "Value", { enumerable: true, get: function () { return value_1.Value; } });
29
29
  var null_2 = require("./src/value/null");
30
30
  Object.defineProperty(exports, "sassNull", { enumerable: true, get: function () { return null_2.sassNull; } });
31
+ var calculations_1 = require("./src/value/calculations");
32
+ Object.defineProperty(exports, "CalculationOperation", { enumerable: true, get: function () { return calculations_1.CalculationOperation; } });
33
+ Object.defineProperty(exports, "CalculationInterpolation", { enumerable: true, get: function () { return calculations_1.CalculationInterpolation; } });
34
+ Object.defineProperty(exports, "SassCalculation", { enumerable: true, get: function () { return calculations_1.SassCalculation; } });
31
35
  exports.types = require("./src/legacy/value");
32
36
  var exception_1 = require("./src/exception");
33
37
  Object.defineProperty(exports, "Exception", { enumerable: true, get: function () { return exception_1.Exception; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,uCAAuC;AACvC,iDAAwD;AACxD,2CAA0C;AAE1C,yCAAyD;AAAlC,gGAAA,QAAQ,OAAA;AAC/B,2DAA2D;AAAnD,iHAAA,gBAAgB,OAAA;AACxB,+CAAwD;AAAhD,oGAAA,SAAS,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAC3B,2CAA4C;AAApC,kGAAA,SAAS,OAAA;AACjB,iDAAkD;AAA1C,wGAAA,YAAY,OAAA;AACpB,uCAAwC;AAAhC,8FAAA,OAAO,OAAA;AACf,6CAA8C;AAAtC,oGAAA,UAAU,OAAA;AAClB,6CAA8C;AAAtC,oGAAA,UAAU,OAAA;AAClB,qCAAkC;AAA1B,8FAAA,KAAK,OAAA;AACb,yCAA0C;AAAlC,gGAAA,QAAQ,OAAA;AAEhB,8CAA4C;AAC5C,6CAA0C;AAAlC,sGAAA,SAAS,OAAA;AACjB,yCAKuB;AAJrB,kGAAA,OAAO,OAAA;AACP,wGAAA,aAAa,OAAA;AACb,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAEpB,uCAAgD;AAAxC,gGAAA,MAAM,OAAA;AAAE,oGAAA,UAAU,OAAA;AAEb,QAAA,IAAI,GAAG,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC;AAEvC,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE,EAAC,IAAI,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAC;CAChC,CAAC;AAEF,gBAAgB;AAEH,QAAA,IAAI,GAAG,kBAAQ,CAAC;AAChB,QAAA,KAAK,GAAG,mBAAS,CAAC;AAClB,QAAA,IAAI,GAAG,eAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,uCAAuC;AACvC,iDAAwD;AACxD,2CAA0C;AAE1C,yCAAyD;AAAlC,gGAAA,QAAQ,OAAA;AAC/B,2DAA2D;AAAnD,iHAAA,gBAAgB,OAAA;AACxB,+CAAwD;AAAhD,oGAAA,SAAS,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAC3B,2CAA4C;AAApC,kGAAA,SAAS,OAAA;AACjB,iDAAkD;AAA1C,wGAAA,YAAY,OAAA;AACpB,uCAAwC;AAAhC,8FAAA,OAAO,OAAA;AACf,6CAA8C;AAAtC,oGAAA,UAAU,OAAA;AAClB,6CAA8C;AAAtC,oGAAA,UAAU,OAAA;AAClB,qCAAkC;AAA1B,8FAAA,KAAK,OAAA;AACb,yCAA0C;AAAlC,gGAAA,QAAQ,OAAA;AAChB,yDAKkC;AAJhC,oHAAA,oBAAoB,OAAA;AAEpB,wHAAA,wBAAwB,OAAA;AACxB,+GAAA,eAAe,OAAA;AAGjB,8CAA4C;AAC5C,6CAA0C;AAAlC,sGAAA,SAAS,OAAA;AACjB,yCAKuB;AAJrB,kGAAA,OAAO,OAAA;AACP,wGAAA,aAAa,OAAA;AACb,uGAAA,YAAY,OAAA;AACZ,6GAAA,kBAAkB,OAAA;AAEpB,uCAAgD;AAAxC,gGAAA,MAAM,OAAA;AAAE,oGAAA,UAAU,OAAA;AAEb,QAAA,IAAI,GAAG,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC;AAEvC,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE,EAAC,IAAI,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAC;CAChC,CAAC;AAEF,gBAAgB;AAEH,QAAA,IAAI,GAAG,kBAAQ,CAAC;AAChB,QAAA,KAAK,GAAG,mBAAS,CAAC;AAClB,QAAA,IAAI,GAAG,eAAQ,CAAC"}
@@ -5,8 +5,12 @@ export const compileAsync = sass.compileAsync;
5
5
  export const compileString = sass.compileString;
6
6
  export const compileStringAsync = sass.compileStringAsync;
7
7
  export const Logger = sass.Logger;
8
+ export const CalculationInterpolation = sass.CalculationInterpolation
9
+ export const CalculationOperation = sass.CalculationOperation
10
+ export const CalculationOperator = sass.CalculationOperator
8
11
  export const SassArgumentList = sass.SassArgumentList;
9
12
  export const SassBoolean = sass.SassBoolean;
13
+ export const SassCalculation = sass.SassCalculation
10
14
  export const SassColor = sass.SassColor;
11
15
  export const SassFunction = sass.SassFunction;
12
16
  export const SassList = sass.SassList;
@@ -59,6 +63,18 @@ export default {
59
63
  defaultExportDeprecation();
60
64
  return sass.Logger;
61
65
  },
66
+ get CalculationOperation() {
67
+ defaultExportDeprecation();
68
+ return sass.CalculationOperation;
69
+ },
70
+ get CalculationOperator() {
71
+ defaultExportDeprecation();
72
+ return sass.CalculationOperator;
73
+ },
74
+ get CalculationInterpolation() {
75
+ defaultExportDeprecation();
76
+ return sass.CalculationInterpolation;
77
+ },
62
78
  get SassArgumentList() {
63
79
  defaultExportDeprecation();
64
80
  return sass.SassArgumentList;
@@ -67,6 +83,10 @@ export default {
67
83
  defaultExportDeprecation();
68
84
  return sass.SassBoolean;
69
85
  },
86
+ get SassCalculation() {
87
+ defaultExportDeprecation();
88
+ return sass.SassCalculation;
89
+ },
70
90
  get SassColor() {
71
91
  defaultExportDeprecation();
72
92
  return sass.SassColor;
@@ -80,7 +80,9 @@ class LegacyImporterWrapper {
80
80
  this.expectingRelativeLoad = false;
81
81
  return null;
82
82
  }
83
- else {
83
+ else if (!url.startsWith('file:')) {
84
+ // We'll only search for another relative import when the URL isn't
85
+ // absolute.
84
86
  this.expectingRelativeLoad = true;
85
87
  }
86
88
  const prev = this.prev[this.prev.length - 1];
@@ -1 +1 @@
1
- {"version":3,"file":"importer.js","sourceRoot":"","sources":["../../../../lib/src/legacy/importer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"importer.js","sourceRoot":"","sources":["../../../../lib/src/legacy/importer.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,mCAAwC;AACxC,6BAAkD;AAClD,yBAAyB;AACzB,0BAA0B;AAC1B,6BAA6B;AAE7B,iDAA2C;AAC3C,oCAMkB;AAYlB;;;;;GAKG;AACU,QAAA,iBAAiB,GAAG,iCAAiC,CAAC;AAEnE;;GAEG;AACU,QAAA,sBAAsB,GAAG,kBAAkB,CAAC;AAEzD,4EAA4E;AAC5E,6EAA6E;AAC7E,IAAI,cAAc,GAAG,CAAC,CAAC;AAYvB;;;GAGG;AACH,MAAa,qBAAqB;IAehC,YACmB,IAAsB,EACtB,SAAsC,EACtC,SAAmB,EACpC,WAAmB,EACF,IAAuB;QAJvB,SAAI,GAAJ,IAAI,CAAkB;QACtB,cAAS,GAAT,SAAS,CAA6B;QACtC,cAAS,GAAT,SAAS,CAAU;QAEnB,SAAI,GAAJ,IAAI,CAAmB;QAjB1C,uDAAuD;QACtC,SAAI,GAAkB,EAAE,CAAC;QAM1C,6EAA6E;QAC7E,8EAA8E;QAC9E,2DAA2D;QACnD,0BAAqB,GAAG,IAAI,CAAC;QASnC,MAAM,IAAI,GAAG,WAAW,KAAK,OAAO,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IACvE,CAAC;IAED,YAAY,CACV,GAAW,EACX,OAA8B;QAE9B,IAAI,GAAG,CAAC,UAAU,CAAC,yBAAiB,CAAC;YAAE,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAE3D,wEAAwE;QACxE,wEAAwE;QACxE,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9B,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBAC3B,IAAI,QAAQ,GAAkB,IAAI,CAAC;gBAEnC,IAAI;oBACF,MAAM,IAAI,GAAG,IAAA,kCAA0B,EAAC,GAAG,CAAC,CAAC;oBAC7C,QAAQ,GAAG,IAAA,0BAAW,EAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;iBAClD;gBAAC,OAAO,KAAc,EAAE;oBACvB,IACE,KAAK,YAAY,SAAS;wBAC1B,IAAA,wBAAgB,EAAC,KAAK,CAAC;wBACvB,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB;4BAC/B,KAAK,CAAC,IAAI,KAAK,2BAA2B,CAAC,EAC7C;wBACA,+DAA+D;wBAC/D,+DAA+D;wBAC/D,8DAA8D;wBAC9D,gEAAgE;wBAChE,gEAAgE;wBAChE,OAAO;qBACR;yBAAM;wBACL,MAAM,KAAK,CAAC;qBACb;iBACF;gBAED,IAAI,QAAQ,KAAK,IAAI,EAAE;oBACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC,CAAC;oBAC5C,OAAO,IAAA,mBAAa,EAAC,QAAQ,CAAC,CAAC;iBAChC;aACF;YAED,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;YACnC,OAAO,IAAI,CAAC;SACb;aAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACnC,mEAAmE;YACnE,YAAY;YACZ,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;SACnC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAA,cAAM,EACX,IAAA,cAAM,EAAC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,EAAE;;YAC5D,IAAI,MAAM,YAAY,KAAK;gBAAE,MAAM,MAAM,CAAC;YAC1C,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAEjC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;gBAC9B,MAAM,CACJ,6CAA6C;oBAC7C,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAC3B,CAAC;aACH;YAED,IAAI,UAAU,IAAI,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE;gBAC/C,IAAI,CAAC,YAAY,GAAG,MAAA,MAAM,CAAC,QAAQ,mCAAI,EAAE,CAAC;gBAE1C,IAAI,MAAM,IAAI,MAAM,EAAE;oBACpB,OAAO,IAAI,GAAG,CACZ,8BAAsB;wBACpB,SAAS,CAAE,MAAyB,CAAC,IAAI,CAAC,CAC7C,CAAC;iBACH;qBAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACrC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;iBACrB;qBAAM;oBACL,OAAO,IAAI,GAAG,CAAC,8BAAsB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;iBACzD;aACF;iBAAM;gBACL,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAC7B,MAAM,QAAQ,GAAG,IAAA,0BAAW,EAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;oBAC9D,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAA,mBAAa,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClD;gBAED,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,IAAI;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAErD,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;oBAC7B,MAAM,QAAQ,GAAG,IAAA,0BAAW,EAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAC3B,OAAO,CAAC,UAAU,CACnB,CAAC;oBACF,IAAI,QAAQ,KAAK,IAAI;wBAAE,OAAO,IAAA,mBAAa,EAAC,QAAQ,CAAC,CAAC;iBACvD;gBACD,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CAAC,EACF,MAAM,CAAC,EAAE;YACP,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC;gBACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBACb,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,IAAA,kCAA0B,EAAC,MAAiB,CAAC,CAAC,CAAC,CAAC,GAAG;oBAC/D,IAAI;iBACL,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;aACf;iBAAM;gBACL,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;oBACrC,MAAM,QAAQ,GAAG,IAAA,0BAAW,EAC1B,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EACrB,OAAO,CAAC,UAAU,CACnB,CAAC;oBACF,IAAI,QAAQ,KAAK,IAAI;wBAAE,OAAO,IAAA,mBAAa,EAAC,QAAQ,CAAC,CAAC;iBACvD;gBACD,OAAO,IAAI,CAAC;aACb;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,YAAiB;;QACpB,IAAI,YAAY,CAAC,QAAQ,KAAK,yBAAiB,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO;gBACL,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,MAAM;gBACd,YAAY,EAAE,IAAI,GAAG,CAAC,yBAAiB,CAAC;aACzC,CAAC;SACH;QAED,IAAI,YAAY,CAAC,QAAQ,KAAK,OAAO,EAAE;YACrC,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACpD,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACxC,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,MAAM,CAAC;YAEX,IAAI,QAAQ,GACV,MAAA,IAAI,CAAC,YAAY,mCACjB,EAAE,CAAC,YAAY,CACb,IAAA,kCAA0B,EAAC,YAAuB,CAAC,EACnD,OAAO,CACR,CAAC;YACJ,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,IAAI,MAAM,KAAK,MAAM,EAAE;gBACrB,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC;aAClC;iBAAM,IAAI,MAAM,KAAK,UAAU,EAAE;gBAChC,QAAQ,IAAI,cAAc,yBAAiB,GAAG,cAAc,EAAE,GAAG,CAAC;aACnE;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;aACjB;YAED,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAC,CAAC;SACvD;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,eAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,OAAO;YACL,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC,eAAe;YAC7C,MAAM,EAAE,MAAM;YACd,YAAY,EAAE,YAAY;SAC3B,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,2BAA2B;IACnB,eAAe,CACrB,GAAW,EACX,IAAY,EACZ,EAAC,UAAU,EAAwB;QAEnC,IAAA,eAAM,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAElC,MAAM,IAAI,GAAuB,EAAC,GAAG,IAAI,CAAC,IAAI,EAAE,UAAU,EAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;QAEhD,MAAM,iBAAiB,GAAG,CACxB,CAAS,EAC8B,EAAE,CACzC,IAAA,cAAM,EACJ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EACvD,MAAM,CAAC,EAAE;YACP,IAAI,MAAM,KAAK,IAAI,EAAE;gBACnB,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAC;gBACjD,OAAO,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACjC;YACD,IACE,UAAU,IAAI,MAAM;gBACpB,MAAM,CAAC,QAAQ;gBACf,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,EACnC;gBACA,MAAM,IAAI,KAAK,CACb,0DACG,MAAM,CAAC,QAAe,CAAC,WAAW,CAAC,IACtC,EAAE,CACH,CAAC;aACH;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CACF,CAAC;QAEJ,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,uEAAuE;IAC/D,cAAc,CACpB,QAA8B,EAC9B,IAAwB,EACxB,GAAW,EACX,IAAY;QAEZ,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAQ,QAA+B,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;SAC/D;QAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,uEAAuE;YACvE,MAAM,UAAU,GAAI,QAAgC,CAAC,IAAI,CACvD,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,OAAO,CACR,CAAC;YAEF,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC,CAA0C,CAAC;IAC9C,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,yBAAyB;IACzB,IAAY,eAAe;QACzB,OAAO,eAAe,yBAAiB,GAAG,cAAc,EAAE,IAAI,CAAC;IACjE,CAAC;CACF;AAhQD,sDAgQC"}
@@ -16,6 +16,7 @@ const number_1 = require("./value/number");
16
16
  const string_1 = require("./value/string");
17
17
  const null_1 = require("./value/null");
18
18
  const boolean_1 = require("./value/boolean");
19
+ const calculations_1 = require("./value/calculations");
19
20
  /**
20
21
  * A class that converts [Value] objects into protobufs.
21
22
  *
@@ -53,11 +54,7 @@ class Protofier {
53
54
  result.value = { case: 'string', value: string };
54
55
  }
55
56
  else if (value instanceof number_1.SassNumber) {
56
- const number = new proto.Value_Number();
57
- number.value = value.value;
58
- number.numerators = value.numeratorUnits.toArray();
59
- number.denominators = value.denominatorUnits.toArray();
60
- result.value = { case: 'number', value: number };
57
+ result.value = { case: 'number', value: this.protofyNumber(value) };
61
58
  }
62
59
  else if (value instanceof color_1.SassColor) {
63
60
  if (value.hasCalculatedHsl) {
@@ -121,6 +118,12 @@ class Protofier {
121
118
  result.value = { case: 'hostFunction', value: fn };
122
119
  }
123
120
  }
121
+ else if (value instanceof calculations_1.SassCalculation) {
122
+ result.value = {
123
+ case: 'calculation',
124
+ value: this.protofyCalculation(value),
125
+ };
126
+ }
124
127
  else if (value === boolean_1.sassTrue) {
125
128
  result.value = { case: 'singleton', value: proto.SingletonValue.TRUE };
126
129
  }
@@ -135,6 +138,14 @@ class Protofier {
135
138
  }
136
139
  return result;
137
140
  }
141
+ /** Converts `number` to its protocol buffer representation. */
142
+ protofyNumber(number) {
143
+ return new proto.Value_Number({
144
+ value: number.value,
145
+ numerators: number.numeratorUnits.toArray(),
146
+ denominators: number.denominatorUnits.toArray(),
147
+ });
148
+ }
138
149
  /** Converts `separator` to its protocol buffer representation. */
139
150
  protofySeparator(separator) {
140
151
  switch (separator) {
@@ -150,6 +161,64 @@ class Protofier {
150
161
  throw utils.compilerError(`Unknown ListSeparator ${separator}`);
151
162
  }
152
163
  }
164
+ /** Converts `calculation` to its protocol buffer representation. */
165
+ protofyCalculation(calculation) {
166
+ return new proto.Value_Calculation({
167
+ name: calculation.name,
168
+ arguments: calculation.arguments
169
+ .map(this.protofyCalculationValue.bind(this))
170
+ .toArray(),
171
+ });
172
+ }
173
+ /** Converts a CalculationValue that appears within a `SassCalculation` to
174
+ * its protocol buffer representation. */
175
+ protofyCalculationValue(value) {
176
+ const result = new proto.Value_Calculation_CalculationValue();
177
+ if (value instanceof calculations_1.SassCalculation) {
178
+ result.value = {
179
+ case: 'calculation',
180
+ value: this.protofyCalculation(value),
181
+ };
182
+ }
183
+ else if (value instanceof calculations_1.CalculationOperation) {
184
+ result.value = {
185
+ case: 'operation',
186
+ value: new proto.Value_Calculation_CalculationOperation({
187
+ operator: this.protofyCalculationOperator(value.operator),
188
+ left: this.protofyCalculationValue(value.left),
189
+ right: this.protofyCalculationValue(value.right),
190
+ }),
191
+ };
192
+ }
193
+ else if (value instanceof calculations_1.CalculationInterpolation) {
194
+ result.value = { case: 'interpolation', value: value.value };
195
+ }
196
+ else if (value instanceof string_1.SassString) {
197
+ result.value = { case: 'string', value: value.text };
198
+ }
199
+ else if (value instanceof number_1.SassNumber) {
200
+ result.value = { case: 'number', value: this.protofyNumber(value) };
201
+ }
202
+ else {
203
+ throw utils.compilerError(`Unknown CalculationValue ${value}`);
204
+ }
205
+ return result;
206
+ }
207
+ /** Converts `operator` to its protocol buffer representation. */
208
+ protofyCalculationOperator(operator) {
209
+ switch (operator) {
210
+ case '+':
211
+ return proto.CalculationOperator.PLUS;
212
+ case '-':
213
+ return proto.CalculationOperator.MINUS;
214
+ case '*':
215
+ return proto.CalculationOperator.TIMES;
216
+ case '/':
217
+ return proto.CalculationOperator.DIVIDE;
218
+ default:
219
+ throw utils.compilerError(`Unknown CalculationOperator ${operator}`);
220
+ }
221
+ }
153
222
  /** Converts `value` to its JS representation. */
154
223
  deprotofy(value) {
155
224
  switch (value.value.case) {
@@ -160,11 +229,7 @@ class Protofier {
160
229
  : new string_1.SassString(string.text, { quotes: string.quoted });
161
230
  }
162
231
  case 'number': {
163
- const number = value.value.value;
164
- return new number_1.SassNumber(number.value, {
165
- numeratorUnits: number.numerators,
166
- denominatorUnits: number.denominators,
167
- });
232
+ return this.deprotofyNumber(value.value.value);
168
233
  }
169
234
  case 'rgbColor': {
170
235
  const color = value.value.value;
@@ -221,6 +286,8 @@ class Protofier {
221
286
  return new function_1.SassFunction(value.value.value.id);
222
287
  case 'hostFunction':
223
288
  throw utils.compilerError('The compiler may not send Value.host_function.');
289
+ case 'calculation':
290
+ return this.deprotofyCalculation(value.value.value);
224
291
  case 'singleton':
225
292
  switch (value.value.value) {
226
293
  case proto.SingletonValue.TRUE:
@@ -235,6 +302,13 @@ class Protofier {
235
302
  throw utils.mandatoryError('Value.value');
236
303
  }
237
304
  }
305
+ /** Converts `number` to its JS representation. */
306
+ deprotofyNumber(number) {
307
+ return new number_1.SassNumber(number.value, {
308
+ numeratorUnits: number.numerators,
309
+ denominatorUnits: number.denominators,
310
+ });
311
+ }
238
312
  /** Converts `separator` to its JS representation. */
239
313
  deprotofySeparator(separator) {
240
314
  switch (separator) {
@@ -250,6 +324,65 @@ class Protofier {
250
324
  throw utils.compilerError(`Unknown separator ${separator}`);
251
325
  }
252
326
  }
327
+ /** Converts `calculation` to its Sass representation. */
328
+ deprotofyCalculation(calculation) {
329
+ switch (calculation.name) {
330
+ case 'calc':
331
+ if (calculation.arguments.length !== 1) {
332
+ throw utils.compilerError('Value.Calculation.arguments must have exactly one argument for calc().');
333
+ }
334
+ return calculations_1.SassCalculation.calc(this.deprotofyCalculationValue(calculation.arguments[0]));
335
+ case 'clamp':
336
+ if (calculation.arguments.length !== 3) {
337
+ throw utils.compilerError('Value.Calculation.arguments must have exactly 3 arguments for clamp().');
338
+ }
339
+ return calculations_1.SassCalculation.clamp(this.deprotofyCalculationValue(calculation.arguments[0]), this.deprotofyCalculationValue(calculation.arguments[1]), this.deprotofyCalculationValue(calculation.arguments[2]));
340
+ case 'min':
341
+ if (calculation.arguments.length === 0) {
342
+ throw utils.compilerError('Value.Calculation.arguments must have at least 1 argument for min().');
343
+ }
344
+ return calculations_1.SassCalculation.min(calculation.arguments.map(this.deprotofyCalculationValue));
345
+ case 'max':
346
+ if (calculation.arguments.length === 0) {
347
+ throw utils.compilerError('Value.Calculation.arguments must have at least 1 argument for max().');
348
+ }
349
+ return calculations_1.SassCalculation.max(calculation.arguments.map(this.deprotofyCalculationValue));
350
+ default:
351
+ throw utils.compilerError(`Value.Calculation.name "${calculation.name}" is not a recognized calculation type.`);
352
+ }
353
+ }
354
+ /** Converts `value` to its Sass representation. */
355
+ deprotofyCalculationValue(value) {
356
+ switch (value.value.case) {
357
+ case 'number':
358
+ return this.deprotofyNumber(value.value.value);
359
+ case 'calculation':
360
+ return this.deprotofyCalculation(value.value.value);
361
+ case 'string':
362
+ return new string_1.SassString(value.value.value, { quotes: false });
363
+ case 'operation':
364
+ return new calculations_1.CalculationOperation(this.deprotofyCalculationOperator(value.value.value.operator), this.deprotofyCalculationValue(value.value.value.left), this.deprotofyCalculationValue(value.value.value.right));
365
+ case 'interpolation':
366
+ return new calculations_1.CalculationInterpolation(value.value.value);
367
+ default:
368
+ throw utils.mandatoryError('Calculation.CalculationValue.value');
369
+ }
370
+ }
371
+ /** Converts `operator` to its Sass representation. */
372
+ deprotofyCalculationOperator(operator) {
373
+ switch (operator) {
374
+ case proto.CalculationOperator.PLUS:
375
+ return '+';
376
+ case proto.CalculationOperator.MINUS:
377
+ return '-';
378
+ case proto.CalculationOperator.TIMES:
379
+ return '*';
380
+ case proto.CalculationOperator.DIVIDE:
381
+ return '/';
382
+ default:
383
+ throw utils.compilerError(`Unknown CalculationOperator ${operator}`);
384
+ }
385
+ }
253
386
  }
254
387
  exports.Protofier = Protofier;
255
388
  //# sourceMappingURL=protofier.js.map
@@ -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,100 @@
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.CalculationInterpolation = exports.CalculationOperation = exports.SassCalculation = void 0;
7
+ const immutable_1 = require("immutable");
8
+ const index_1 = require("./index");
9
+ const string_1 = require("./string");
10
+ function assertCalculationValue(value) {
11
+ if (value instanceof string_1.SassString && value.hasQuotes) {
12
+ throw new Error(`Expected ${value} to be an unquoted string.`);
13
+ }
14
+ }
15
+ const isValidClampArg = (value) => value instanceof CalculationInterpolation ||
16
+ (value instanceof string_1.SassString && !value.hasQuotes);
17
+ /* A SassScript calculation */
18
+ class SassCalculation extends index_1.Value {
19
+ constructor(name, args) {
20
+ super();
21
+ this.name = name;
22
+ this.arguments = (0, immutable_1.List)(args);
23
+ }
24
+ static calc(argument) {
25
+ assertCalculationValue(argument);
26
+ return new SassCalculation('calc', [argument]);
27
+ }
28
+ static min(args) {
29
+ args.forEach(assertCalculationValue);
30
+ return new SassCalculation('min', args);
31
+ }
32
+ static max(args) {
33
+ args.forEach(assertCalculationValue);
34
+ return new SassCalculation('max', args);
35
+ }
36
+ static clamp(min, value, max) {
37
+ if ((value === undefined && !isValidClampArg(min)) ||
38
+ (max === undefined && ![min, value].some(x => x && isValidClampArg(x)))) {
39
+ throw new Error('Argument must be an unquoted SassString or CalculationInterpolation.');
40
+ }
41
+ const args = [min];
42
+ if (value !== undefined)
43
+ args.push(value);
44
+ if (max !== undefined)
45
+ args.push(max);
46
+ args.forEach(assertCalculationValue);
47
+ return new SassCalculation('clamp', args);
48
+ }
49
+ assertCalculation() {
50
+ return this;
51
+ }
52
+ equals(other) {
53
+ return (other instanceof SassCalculation &&
54
+ this.name === other.name &&
55
+ this.arguments.equals(other.arguments));
56
+ }
57
+ hashCode() {
58
+ return (0, immutable_1.hash)(this.name) ^ this.arguments.hashCode();
59
+ }
60
+ toString() {
61
+ return `${this.name}(${this.arguments.join(', ')})`;
62
+ }
63
+ }
64
+ exports.SassCalculation = SassCalculation;
65
+ const operators = ['+', '-', '*', '/'];
66
+ class CalculationOperation {
67
+ constructor(operator, left, right) {
68
+ this.operator = operator;
69
+ this.left = left;
70
+ this.right = right;
71
+ if (!operators.includes(operator)) {
72
+ throw new Error(`Invalid operator: ${operator}`);
73
+ }
74
+ assertCalculationValue(left);
75
+ assertCalculationValue(right);
76
+ }
77
+ equals(other) {
78
+ return (other instanceof CalculationOperation &&
79
+ this.operator === other.operator &&
80
+ this.left === other.left &&
81
+ this.right === other.right);
82
+ }
83
+ hashCode() {
84
+ return (0, immutable_1.hash)(this.operator) ^ (0, immutable_1.hash)(this.left) ^ (0, immutable_1.hash)(this.right);
85
+ }
86
+ }
87
+ exports.CalculationOperation = CalculationOperation;
88
+ class CalculationInterpolation {
89
+ constructor(value) {
90
+ this.value = value;
91
+ }
92
+ equals(other) {
93
+ return (other instanceof CalculationInterpolation && this.value === other.value);
94
+ }
95
+ hashCode() {
96
+ return (0, immutable_1.hash)(this.value);
97
+ }
98
+ }
99
+ exports.CalculationInterpolation = CalculationInterpolation;
100
+ //# sourceMappingURL=calculations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculations.js","sourceRoot":"","sources":["../../../../lib/src/value/calculations.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yCAAkD;AAElD,mCAA8B;AAE9B,qCAAoC;AAWpC,SAAS,sBAAsB,CAAC,KAAuB;IACrD,IAAI,KAAK,YAAY,mBAAU,IAAI,KAAK,CAAC,SAAS,EAAE;QAClD,MAAM,IAAI,KAAK,CAAC,YAAY,KAAK,4BAA4B,CAAC,CAAC;KAChE;AACH,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,KAAuB,EAAW,EAAE,CAC3D,KAAK,YAAY,wBAAwB;IACzC,CAAC,KAAK,YAAY,mBAAU,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AAEpD,8BAA8B;AAC9B,MAAa,eAAgB,SAAQ,aAAK;IAGxC,YAA6B,IAAY,EAAE,IAA8B;QACvE,KAAK,EAAE,CAAC;QADmB,SAAI,GAAJ,IAAI,CAAQ;QAEvC,IAAI,CAAC,SAAS,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,QAA0B;QACpC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,IAA8B;QACvC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACrC,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,IAA8B;QACvC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACrC,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,KAAK,CACV,GAAqB,EACrB,KAAwB,EACxB,GAAsB;QAEtB,IACE,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC9C,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EACvE;YACA,MAAM,IAAI,KAAK,CACb,sEAAsE,CACvE,CAAC;SACH;QACD,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,GAAG,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QACrC,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,KAAc;QACnB,OAAO,CACL,KAAK,YAAY,eAAe;YAChC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAA,gBAAI,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;IACrD,CAAC;IAED,QAAQ;QACN,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IACtD,CAAC;CACF;AA9DD,0CA8DC;AAED,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAGhD,MAAa,oBAAoB;IAC/B,YACW,QAA6B,EAC7B,IAAsB,EACtB,KAAuB;QAFvB,aAAQ,GAAR,QAAQ,CAAqB;QAC7B,SAAI,GAAJ,IAAI,CAAkB;QACtB,UAAK,GAAL,KAAK,CAAkB;QAEhC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;SAClD;QACD,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7B,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAc;QACnB,OAAO,CACL,KAAK,YAAY,oBAAoB;YACrC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;YAChC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;YACxB,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAC3B,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAA,gBAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAA,gBAAI,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,CAAC;CACF;AAzBD,oDAyBC;AAED,MAAa,wBAAwB;IACnC,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;IAAG,CAAC;IAEtC,MAAM,CAAC,KAAc;QACnB,OAAO,CACL,KAAK,YAAY,wBAAwB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CACxE,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,OAAO,IAAA,gBAAI,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF;AAZD,4DAYC"}
@@ -88,6 +88,15 @@ class Value {
88
88
  assertBoolean(name) {
89
89
  throw (0, utils_1.valueError)(`${this} is not a boolean`, name);
90
90
  }
91
+ /**
92
+ * Casts `this` to `SassCalculation`; throws if `this` isn't a calculation.
93
+ *
94
+ * If `this` came from a function argument, `name` is the argument name
95
+ * (without the `$`) and is used for error reporting.
96
+ */
97
+ assertCalculation(name) {
98
+ throw (0, utils_1.valueError)(`${this} is not a calculation`, name);
99
+ }
91
100
  /**
92
101
  * Casts `this` to `SassColor`; throws if `this` isn't a color.
93
102
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/src/value/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yCAA4C;AAQ5C,oCAAoC;AAEpC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAsB,KAAK;IACzB,uCAAuC;IACvC,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0EAA0E;IAC1E,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB;IACxB,IAAI,MAAM;QACR,OAAO,IAAA,gBAAI,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,0CAA0C;IAC1C,IAAI,SAAS;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+CAA+C;IAC/C,IAAI,WAAW;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,0BAA0B;IAC1B,IAAc,YAAY;QACxB,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,oBAAoB,CAAC,SAAgB,EAAE,IAAa;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE;YACvC,MAAM,IAAA,kBAAU,EACd,iBAAiB,SAAS,oBAAoB,IAAI,CAAC,YAAY,YAAY,EAC3E,IAAI,CACL,CAAC;SACH;QACD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,wCAAwC;IACxC,GAAG,CAAC,KAAa;QACf,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAa;QACzB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,IAAa;QACvB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,IAAa;QAC1B,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,8BAA8B,EAAE,IAAI,CAAC,CAAC;QAC9D,uDAAuD;IACzD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAa;QACrB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,eAAe,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,IAAa;QACxB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,IAAa;QACxB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;CAUF;AAjJD,sBAiJC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/src/value/index.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,yCAA4C;AAQ5C,oCAAoC;AAGpC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAsB,KAAK;IACzB,uCAAuC;IACvC,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0EAA0E;IAC1E,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB;IACxB,IAAI,MAAM;QACR,OAAO,IAAA,gBAAI,EAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtB,CAAC;IAED,0CAA0C;IAC1C,IAAI,SAAS;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+CAA+C;IAC/C,IAAI,WAAW;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yDAAyD;IACzD,0BAA0B;IAC1B,IAAc,YAAY;QACxB,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,oBAAoB,CAAC,SAAgB,EAAE,IAAa;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,MAAM,KAAK,CAAC,0BAA0B,CAAC,CAAC;SACzC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE;YACvC,MAAM,IAAA,kBAAU,EACd,iBAAiB,SAAS,oBAAoB,IAAI,CAAC,YAAY,YAAY,EAC3E,IAAI,CACL,CAAC;SACH;QACD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,wCAAwC;IACxC,GAAG,CAAC,KAAa;QACf,OAAO,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,IAAa;QACzB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,mBAAmB,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,IAAa;QAC7B,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,IAAa;QACvB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,iBAAiB,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,IAAa;QAC1B,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,8BAA8B,EAAE,IAAI,CAAC,CAAC;QAC9D,uDAAuD;IACzD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAa;QACrB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,eAAe,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,IAAa;QACxB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,IAAa;QACxB,MAAM,IAAA,kBAAU,EAAC,GAAG,IAAI,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;CAUF;AA3JD,sBA2JC"}
package/dist/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "sass-embedded",
3
- "version": "1.63.5",
3
+ "version": "1.64.0",
4
4
  "protocol-version": "2.1.0",
5
- "compiler-version": "1.63.5",
5
+ "compiler-version": "1.64.0",
6
6
  "description": "Node.js library that communicates with Embedded Dart Sass using the Embedded Sass protocol",
7
7
  "repository": "sass/embedded-host-node",
8
8
  "author": "Google Inc.",
9
9
  "license": "MIT",
10
10
  "exports": {
11
- "import": "dist/lib/index.mjs",
12
- "default": "dist/lib/index.js"
11
+ "import": "./dist/lib/index.mjs",
12
+ "default": "./dist/lib/index.js"
13
13
  },
14
14
  "main": "dist/lib/index.js",
15
15
  "types": "dist/types/index.d.ts",
@@ -31,14 +31,14 @@
31
31
  "test": "jest"
32
32
  },
33
33
  "optionalDependencies": {
34
- "sass-embedded-darwin-arm64": "1.63.5",
35
- "sass-embedded-darwin-x64": "1.63.5",
36
- "sass-embedded-linux-arm": "1.63.5",
37
- "sass-embedded-linux-arm64": "1.63.5",
38
- "sass-embedded-linux-ia32": "1.63.5",
39
- "sass-embedded-linux-x64": "1.63.5",
40
- "sass-embedded-win32-ia32": "1.63.5",
41
- "sass-embedded-win32-x64": "1.63.5"
34
+ "sass-embedded-darwin-arm64": "1.64.0",
35
+ "sass-embedded-darwin-x64": "1.64.0",
36
+ "sass-embedded-linux-arm": "1.64.0",
37
+ "sass-embedded-linux-arm64": "1.64.0",
38
+ "sass-embedded-linux-ia32": "1.64.0",
39
+ "sass-embedded-linux-x64": "1.64.0",
40
+ "sass-embedded-win32-ia32": "1.64.0",
41
+ "sass-embedded-win32-x64": "1.64.0"
42
42
  },
43
43
  "dependencies": {
44
44
  "@bufbuild/protobuf": "^1.0.0",
@@ -64,7 +64,7 @@
64
64
  "extract-zip": "^2.0.1",
65
65
  "gts": "^4.0.0",
66
66
  "jest": "^29.4.1",
67
- "minipass": "6.0.2",
67
+ "minipass": "7.0.1",
68
68
  "npm-run-all": "^4.1.5",
69
69
  "shelljs": "^0.8.4",
70
70
  "source-map-js": "^1.0.2",
@@ -27,6 +27,10 @@ async function getLanguageRepo(outPath, options) {
27
27
  await utils.cleanDir('build/sass');
28
28
  await utils.link(options.path, 'build/sass');
29
29
  }
30
+ // Workaround for https://github.com/shelljs/shelljs/issues/198
31
+ // This file is a symlink which gets messed up by `shell.cp` (called from
32
+ // `utils.link`) on Windows.
33
+ shell.rm('build/sass/spec/README.md');
30
34
  await utils.link('build/sass/js-api-doc', p.join(outPath, 'sass'));
31
35
  buildEmbeddedProtocol();
32
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-language-repo.js","sourceRoot":"","sources":["../../tool/get-language-repo.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,0BAA0B;AAC1B,iCAAiC;AAEjC,iCAAiC;AAEjC;;;;;;GAMG;AACI,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,OAAwC;;IAExC,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,OAAO,EAAE;QAChC,KAAK,CAAC,SAAS,CAAC;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK,CAAC,UAAU;YACzB,GAAG,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,mCAAI,MAAM;SAC5B,CAAC,CAAC;KACJ;SAAM;QACL,MAAM,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KAC9C;IAED,MAAM,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnE,qBAAqB,EAAE,CAAC;AAC1B,CAAC;AAlBD,0CAkBC;AAED,4CAA4C;AAC5C,SAAS,qBAAqB;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,GAAG,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"get-language-repo.js","sourceRoot":"","sources":["../../tool/get-language-repo.ts"],"names":[],"mappings":";AAAA,uEAAuE;AACvE,gEAAgE;AAChE,uCAAuC;;;AAEvC,0BAA0B;AAC1B,iCAAiC;AAEjC,iCAAiC;AAEjC;;;;;;GAMG;AACI,KAAK,UAAU,eAAe,CACnC,OAAe,EACf,OAAwC;;IAExC,IAAI,CAAC,OAAO,IAAI,KAAK,IAAI,OAAO,EAAE;QAChC,KAAK,CAAC,SAAS,CAAC;YACd,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,KAAK,CAAC,UAAU;YACzB,GAAG,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,mCAAI,MAAM;SAC5B,CAAC,CAAC;KACJ;SAAM;QACL,MAAM,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KAC9C;IAED,+DAA+D;IAC/D,yEAAyE;IACzE,4BAA4B;IAC5B,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAAC,CAAC;IAEtC,MAAM,KAAK,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnE,qBAAqB,EAAE,CAAC;AAC1B,CAAC;AAvBD,0CAuBC;AAED,4CAA4C;AAC5C,SAAS,qBAAqB;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,GAAG,CAAC,CAAC;IAChD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AACjC,CAAC"}
@@ -23,9 +23,14 @@ export {
23
23
  } from './options';
24
24
  export {PromiseOr} from './util/promise_or';
25
25
  export {
26
+ CalculationInterpolation,
27
+ CalculationOperation,
28
+ CalculationOperator,
29
+ CalculationValue,
26
30
  ListSeparator,
27
31
  SassArgumentList,
28
32
  SassBoolean,
33
+ SassCalculation,
29
34
  SassColor,
30
35
  SassFunction,
31
36
  SassList,
@@ -390,9 +390,8 @@ export interface LegacySharedOptions<sync extends 'sync' | 'async'> {
390
390
  * whose values are {@link LegacyFunction}s. Each function should take the
391
391
  * same arguments as its signature.
392
392
  *
393
- * Functions are passed JavaScript representations of [Sass value
394
- * types](https://sass-lang.com/documentation/js-api#value-types), and must
395
- * return the same.
393
+ * Functions are passed subclasses of {@link LegacyValue}, and must return the
394
+ * same.
396
395
  *
397
396
  * **Heads up!** When writing custom functions, it’s important to ensure that
398
397
  * all the arguments are the types you expect. Otherwise, users’ stylesheets
@@ -129,9 +129,9 @@ export interface Options<sync extends 'sync' | 'async'> {
129
129
  * rule`](https://sass-lang.com/documentation/at-rules/function) and whose
130
130
  * values are {@link CustomFunction}s.
131
131
  *
132
- * Functions are passed JavaScript representations of [Sass value
133
- * types](https://sass-lang.com/documentation/js-api#value-types), and must
134
- * return the same.
132
+ * Functions are passed subclasses of {@link Value}, and must return the same.
133
+ * If the return value includes {@link SassCalculation}s they will be
134
+ * simplified before being returned.
135
135
  *
136
136
  * When writing custom functions, it's important to make them as user-friendly
137
137
  * and as close to the standards set by Sass's core functions as possible. Some
@@ -0,0 +1,137 @@
1
+ import {List, ValueObject} from 'immutable';
2
+ import {Value, SassNumber, SassString} from './index';
3
+
4
+ /**
5
+ * The type of values that can be arguments to a {@link SassCalculation}.
6
+ * @category Custom Function
7
+ * */
8
+ export type CalculationValue =
9
+ | SassNumber
10
+ | SassCalculation
11
+ | SassString
12
+ | CalculationOperation
13
+ | CalculationInterpolation;
14
+
15
+ /**
16
+ * Sass's [calculation
17
+ * type](https://sass-lang.com/documentation/values/calculations).
18
+ *
19
+ * Note: in the JS API calculations are not simplified eagerly. This also means
20
+ * that unsimplified calculations are not equal to the numbers they would be
21
+ * simplified to.
22
+ *
23
+ * @category Custom Function
24
+ */
25
+ export class SassCalculation extends Value {
26
+ /**
27
+ * Creates a value that represents `calc(argument)`.
28
+ *
29
+ * @throws `Error` if `argument` is a quoted {@link SassString}
30
+ * @returns A calculation with the name `calc` and `argument` as its single
31
+ * argument.
32
+ */
33
+ static calc(argument: CalculationValue): SassCalculation;
34
+
35
+ /**
36
+ * Creates a value that represents `min(arguments...)`.
37
+ *
38
+ * @throws `Error` if `arguments` contains a quoted {@link SassString}
39
+ * @returns A calculation with the name `min` and `arguments` as its
40
+ * arguments.
41
+ */
42
+ static min(
43
+ arguments: CalculationValue[] | List<CalculationValue>
44
+ ): SassCalculation;
45
+
46
+ /**
47
+ * Creates a value that represents `max(arguments...)`.
48
+ *
49
+ * @throws `Error` if `arguments` contains a quoted {@link SassString}
50
+ * @returns A calculation with the name `max` and `arguments` as its
51
+ * arguments.
52
+ */
53
+ static max(
54
+ arguments: CalculationValue[] | List<CalculationValue>
55
+ ): SassCalculation;
56
+
57
+ /**
58
+ * Creates a value that represents `clamp(value, min, max)`.
59
+ *
60
+ * @throws `Error` if any of `value`, `min`, or `max` are a quoted
61
+ * {@link SassString}.
62
+ * @throws `Error` if `value` is undefined and `max` is not undefined.
63
+ * @throws `Error` if either `value` or `max` is undefined and neither `min`
64
+ nor `value` is a {@link SassString} or {@link CalculationInterpolation}.
65
+ @returns A calculation with the name `clamp` and `min`, `value`, and `max`
66
+ as it's arguments, excluding any arguments that are undefined.
67
+ */
68
+ static clamp(
69
+ min: CalculationValue,
70
+ value?: CalculationValue,
71
+ max?: CalculationValue
72
+ ): SassCalculation;
73
+
74
+ /** Returns the calculation's `name` field. */
75
+ get name(): string;
76
+
77
+ /** Returns a list of the calculation's `arguments` */
78
+ get arguments(): List<CalculationValue>;
79
+ }
80
+
81
+ /**
82
+ * The set of possible operators in a Sass calculation.
83
+ * @category Custom Function
84
+ */
85
+ export type CalculationOperator = '+' | '-' | '*' | '/';
86
+
87
+ /**
88
+ * A binary operation that can appear in a {@link SassCalculation}.
89
+ * @category Custom Function
90
+ */
91
+ export class CalculationOperation implements ValueObject {
92
+ /**
93
+ * Creates a Sass CalculationOperation with the given `operator`, `left`, and
94
+ * `right` values.
95
+ * @throws `Error` if `left` or `right` are quoted {@link SassString}s.
96
+ */
97
+ constructor(
98
+ operator: CalculationOperator,
99
+ left: CalculationValue,
100
+ right: CalculationValue
101
+ );
102
+
103
+ /** Returns the operation's `operator` field. */
104
+ get operator(): CalculationOperator;
105
+
106
+ /** Returns the operation's `left` field. */
107
+ get left(): CalculationValue;
108
+
109
+ /** Returns the operation's `right` field. */
110
+ get right(): CalculationValue;
111
+
112
+ equals(other: unknown): boolean;
113
+
114
+ hashCode(): number;
115
+ }
116
+
117
+ /**
118
+ * A string injected into a {@link SassCalculation} using interpolation. Unlike
119
+ * unquoted strings, interpolations are always surrounded in parentheses when
120
+ * they appear in {@link CalculationOperation}s.
121
+ * @category Custom Function
122
+ */
123
+ export class CalculationInterpolation implements ValueObject {
124
+ /**
125
+ * Creates a Sass CalculationInterpolation with the given `value`.
126
+ */
127
+ constructor(value: string);
128
+
129
+ /**
130
+ * Returns the interpolation's `value` field.
131
+ */
132
+ get value(): string;
133
+
134
+ equals(other: unknown): boolean;
135
+
136
+ hashCode(): number;
137
+ }
@@ -1,6 +1,7 @@
1
1
  import {List, ValueObject} from 'immutable';
2
2
 
3
3
  import {SassBoolean} from './boolean';
4
+ import {SassCalculation} from './calculation';
4
5
  import {SassColor} from './color';
5
6
  import {SassFunction} from './function';
6
7
  import {ListSeparator} from './list';
@@ -10,6 +11,13 @@ import {SassString} from './string';
10
11
 
11
12
  export {SassArgumentList} from './argument_list';
12
13
  export {SassBoolean, sassTrue, sassFalse} from './boolean';
14
+ export {
15
+ SassCalculation,
16
+ CalculationValue,
17
+ CalculationOperator,
18
+ CalculationOperation,
19
+ CalculationInterpolation,
20
+ } from './calculation';
13
21
  export {SassColor} from './color';
14
22
  export {SassFunction} from './function';
15
23
  export {SassList, ListSeparator} from './list';
@@ -116,6 +124,14 @@ export abstract class Value implements ValueObject {
116
124
  */
117
125
  assertBoolean(name?: string): SassBoolean;
118
126
 
127
+ /**
128
+ * Throws if `this` isn't a {@link SassCalculation}.
129
+ *
130
+ * @param name - The name of the function argument `this` came from (without
131
+ * the `$`) if it came from an argument. Used for error reporting.
132
+ */
133
+ assertCalculation(name?: string): SassCalculation;
134
+
119
135
  /**
120
136
  * Throws if `this` isn't a {@link SassColor}.
121
137
  *
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "sass-embedded",
3
- "version": "1.63.5",
3
+ "version": "1.64.0",
4
4
  "protocol-version": "2.1.0",
5
- "compiler-version": "1.63.5",
5
+ "compiler-version": "1.64.0",
6
6
  "description": "Node.js library that communicates with Embedded Dart Sass using the Embedded Sass protocol",
7
7
  "repository": "sass/embedded-host-node",
8
8
  "author": "Google Inc.",
9
9
  "license": "MIT",
10
10
  "exports": {
11
- "import": "dist/lib/index.mjs",
12
- "default": "dist/lib/index.js"
11
+ "import": "./dist/lib/index.mjs",
12
+ "default": "./dist/lib/index.js"
13
13
  },
14
14
  "main": "dist/lib/index.js",
15
15
  "types": "dist/types/index.d.ts",
@@ -31,14 +31,14 @@
31
31
  "test": "jest"
32
32
  },
33
33
  "optionalDependencies": {
34
- "sass-embedded-darwin-arm64": "1.63.5",
35
- "sass-embedded-darwin-x64": "1.63.5",
36
- "sass-embedded-linux-arm": "1.63.5",
37
- "sass-embedded-linux-arm64": "1.63.5",
38
- "sass-embedded-linux-ia32": "1.63.5",
39
- "sass-embedded-linux-x64": "1.63.5",
40
- "sass-embedded-win32-ia32": "1.63.5",
41
- "sass-embedded-win32-x64": "1.63.5"
34
+ "sass-embedded-darwin-arm64": "1.64.0",
35
+ "sass-embedded-darwin-x64": "1.64.0",
36
+ "sass-embedded-linux-arm": "1.64.0",
37
+ "sass-embedded-linux-arm64": "1.64.0",
38
+ "sass-embedded-linux-ia32": "1.64.0",
39
+ "sass-embedded-linux-x64": "1.64.0",
40
+ "sass-embedded-win32-ia32": "1.64.0",
41
+ "sass-embedded-win32-x64": "1.64.0"
42
42
  },
43
43
  "dependencies": {
44
44
  "@bufbuild/protobuf": "^1.0.0",
@@ -64,7 +64,7 @@
64
64
  "extract-zip": "^2.0.1",
65
65
  "gts": "^4.0.0",
66
66
  "jest": "^29.4.1",
67
- "minipass": "6.0.2",
67
+ "minipass": "7.0.1",
68
68
  "npm-run-all": "^4.1.5",
69
69
  "shelljs": "^0.8.4",
70
70
  "source-map-js": "^1.0.2",