prettier 3.0.0-alpha.4 → 3.0.0-alpha.5

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 (50) hide show
  1. package/LICENSE +849 -415
  2. package/README.md +3 -3
  3. package/doc.d.ts +248 -0
  4. package/doc.js +274 -199
  5. package/doc.mjs +269 -194
  6. package/index.cjs +380 -201
  7. package/index.d.ts +903 -0
  8. package/index.mjs +7539 -5795
  9. package/internal/cli.mjs +2025 -3219
  10. package/internal/third-party.mjs +2948 -5593
  11. package/package.json +32 -1
  12. package/plugins/acorn-and-espree.d.ts +10 -0
  13. package/plugins/acorn-and-espree.js +12 -12
  14. package/plugins/acorn-and-espree.mjs +12 -12
  15. package/plugins/angular.d.ts +11 -0
  16. package/plugins/angular.js +2 -2
  17. package/plugins/angular.mjs +2 -2
  18. package/plugins/babel.d.ts +16 -0
  19. package/plugins/babel.js +13 -13
  20. package/plugins/babel.mjs +13 -13
  21. package/plugins/flow.d.ts +8 -0
  22. package/plugins/flow.js +20 -20
  23. package/plugins/flow.mjs +20 -20
  24. package/plugins/glimmer.d.ts +8 -0
  25. package/plugins/glimmer.js +18 -17
  26. package/plugins/glimmer.mjs +18 -17
  27. package/plugins/graphql.d.ts +8 -0
  28. package/plugins/graphql.js +7 -7
  29. package/plugins/graphql.mjs +7 -7
  30. package/plugins/html.d.ts +11 -0
  31. package/plugins/html.js +17 -28
  32. package/plugins/html.mjs +17 -28
  33. package/plugins/markdown.d.ts +10 -0
  34. package/plugins/markdown.js +28 -29
  35. package/plugins/markdown.mjs +28 -29
  36. package/plugins/meriyah.d.ts +8 -0
  37. package/plugins/meriyah.js +5 -6
  38. package/plugins/meriyah.mjs +5 -6
  39. package/plugins/postcss.d.ts +10 -0
  40. package/plugins/postcss.js +32 -43
  41. package/plugins/postcss.mjs +32 -43
  42. package/plugins/typescript.d.ts +8 -0
  43. package/plugins/typescript.js +18 -27
  44. package/plugins/typescript.mjs +18 -27
  45. package/plugins/yaml.d.ts +8 -0
  46. package/plugins/yaml.js +108 -108
  47. package/plugins/yaml.mjs +108 -108
  48. package/standalone.d.ts +33 -0
  49. package/standalone.js +74 -80
  50. package/standalone.mjs +74 -80
package/doc.mjs CHANGED
@@ -4,10 +4,6 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __esm = (fn, res) => function __init() {
9
- return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10
- };
11
7
  var __commonJS = (cb, mod) => function __require() {
12
8
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
13
9
  };
@@ -24,34 +20,24 @@ var __copyProps = (to, from, except, desc) => {
24
20
  return to;
25
21
  };
26
22
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
27
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
28
  mod
29
29
  ));
30
- var __publicField = (obj, key, value) => {
31
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
32
- return value;
33
- };
34
-
35
- // <define:process>
36
- var init_define_process = __esm({
37
- "<define:process>"() {
38
- }
39
- });
40
30
 
41
31
  // node_modules/string-width/node_modules/emoji-regex/index.js
42
32
  var require_emoji_regex = __commonJS({
43
33
  "node_modules/string-width/node_modules/emoji-regex/index.js"(exports, module) {
44
34
  "use strict";
45
- init_define_process();
46
35
  module.exports = function() {
47
36
  return /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g;
48
37
  };
49
38
  }
50
39
  });
51
40
 
52
- // src/document/index.js
53
- init_define_process();
54
-
55
41
  // src/document/builders.js
56
42
  var builders_exports = {};
57
43
  __export(builders_exports, {
@@ -81,10 +67,8 @@ __export(builders_exports, {
81
67
  softline: () => softline,
82
68
  trim: () => trim
83
69
  });
84
- init_define_process();
85
70
 
86
71
  // src/document/constants.js
87
- init_define_process();
88
72
  var DOC_TYPE_STRING = "string";
89
73
  var DOC_TYPE_ARRAY = "array";
90
74
  var DOC_TYPE_CURSOR = "cursor";
@@ -116,23 +100,157 @@ var VALID_OBJECT_DOC_TYPES = /* @__PURE__ */ new Set([
116
100
  DOC_TYPE_BREAK_PARENT
117
101
  ]);
118
102
 
103
+ // src/document/utils/get-doc-type.js
104
+ function getDocType(doc) {
105
+ if (typeof doc === "string") {
106
+ return DOC_TYPE_STRING;
107
+ }
108
+ if (Array.isArray(doc)) {
109
+ return DOC_TYPE_ARRAY;
110
+ }
111
+ if (!doc) {
112
+ return;
113
+ }
114
+ const { type } = doc;
115
+ if (VALID_OBJECT_DOC_TYPES.has(type)) {
116
+ return type;
117
+ }
118
+ }
119
+ var get_doc_type_default = getDocType;
120
+
121
+ // src/document/invalid-doc-error.js
122
+ var disjunctionListFormat = (list) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(list);
123
+ function getDocErrorMessage(doc) {
124
+ const type = doc === null ? "null" : typeof doc;
125
+ if (type !== "string" && type !== "object") {
126
+ return `Unexpected doc '${type}',
127
+ Expected it to be 'string' or 'object'.`;
128
+ }
129
+ if (get_doc_type_default(doc)) {
130
+ throw new Error("doc is valid.");
131
+ }
132
+ const objectType = Object.prototype.toString.call(doc);
133
+ if (objectType !== "[object Object]") {
134
+ return `Unexpected doc '${objectType}'.`;
135
+ }
136
+ const EXPECTED_TYPE_VALUES = disjunctionListFormat(
137
+ [...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`)
138
+ );
139
+ return `Unexpected doc.type '${doc.type}'.
140
+ Expected it to be ${EXPECTED_TYPE_VALUES}.`;
141
+ }
142
+ var InvalidDocError = class extends Error {
143
+ name = "InvalidDocError";
144
+ constructor(doc) {
145
+ super(getDocErrorMessage(doc));
146
+ this.doc = doc;
147
+ }
148
+ };
149
+ var invalid_doc_error_default = InvalidDocError;
150
+
151
+ // src/document/utils/traverse-doc.js
152
+ var traverseDocOnExitStackMarker = {};
153
+ function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) {
154
+ const docsStack = [doc];
155
+ while (docsStack.length > 0) {
156
+ const doc2 = docsStack.pop();
157
+ if (doc2 === traverseDocOnExitStackMarker) {
158
+ onExit(docsStack.pop());
159
+ continue;
160
+ }
161
+ if (onExit) {
162
+ docsStack.push(doc2, traverseDocOnExitStackMarker);
163
+ }
164
+ const docType = get_doc_type_default(doc2);
165
+ if (!docType) {
166
+ throw new invalid_doc_error_default(doc2);
167
+ }
168
+ if ((onEnter == null ? void 0 : onEnter(doc2)) === false) {
169
+ continue;
170
+ }
171
+ switch (docType) {
172
+ case DOC_TYPE_ARRAY:
173
+ case DOC_TYPE_FILL: {
174
+ const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts;
175
+ for (let ic = parts.length, i = ic - 1; i >= 0; --i) {
176
+ docsStack.push(parts[i]);
177
+ }
178
+ break;
179
+ }
180
+ case DOC_TYPE_IF_BREAK:
181
+ docsStack.push(doc2.flatContents, doc2.breakContents);
182
+ break;
183
+ case DOC_TYPE_GROUP:
184
+ if (shouldTraverseConditionalGroups && doc2.expandedStates) {
185
+ for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) {
186
+ docsStack.push(doc2.expandedStates[i]);
187
+ }
188
+ } else {
189
+ docsStack.push(doc2.contents);
190
+ }
191
+ break;
192
+ case DOC_TYPE_ALIGN:
193
+ case DOC_TYPE_INDENT:
194
+ case DOC_TYPE_INDENT_IF_BREAK:
195
+ case DOC_TYPE_LABEL:
196
+ case DOC_TYPE_LINE_SUFFIX:
197
+ docsStack.push(doc2.contents);
198
+ break;
199
+ case DOC_TYPE_STRING:
200
+ case DOC_TYPE_CURSOR:
201
+ case DOC_TYPE_TRIM:
202
+ case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
203
+ case DOC_TYPE_LINE:
204
+ case DOC_TYPE_BREAK_PARENT:
205
+ break;
206
+ default:
207
+ throw new invalid_doc_error_default(doc2);
208
+ }
209
+ }
210
+ }
211
+ var traverse_doc_default = traverseDoc;
212
+
213
+ // src/document/utils/assert-doc.js
214
+ var noop = () => {
215
+ };
216
+ var assertDoc = true ? noop : function(doc) {
217
+ traverse_doc_default(doc, (doc2) => {
218
+ if (checked.has(doc2)) {
219
+ return false;
220
+ }
221
+ if (typeof doc2 !== "string") {
222
+ checked.add(doc2);
223
+ }
224
+ });
225
+ };
226
+ var assertDocArray = true ? noop : function(docs, optional = false) {
227
+ if (optional && !docs) {
228
+ return;
229
+ }
230
+ if (!Array.isArray(docs)) {
231
+ throw new TypeError("Unexpected doc array.");
232
+ }
233
+ for (const doc of docs) {
234
+ assertDoc(doc);
235
+ }
236
+ };
237
+
119
238
  // src/document/builders.js
120
239
  function indent(contents) {
121
- if (false) {
122
- assertDoc(contents);
123
- }
240
+ assertDoc(contents);
124
241
  return { type: DOC_TYPE_INDENT, contents };
125
242
  }
126
243
  function align(widthOrString, contents) {
127
- if (false) {
128
- assertDoc(contents);
129
- }
244
+ assertDoc(contents);
130
245
  return { type: DOC_TYPE_ALIGN, contents, n: widthOrString };
131
246
  }
132
247
  function group(contents, opts = {}) {
133
- if (false) {
134
- assertDoc(contents);
135
- }
248
+ assertDoc(contents);
249
+ assertDocArray(
250
+ opts.expandedStates,
251
+ /* optional */
252
+ true
253
+ );
136
254
  return {
137
255
  type: DOC_TYPE_GROUP,
138
256
  id: opts.id,
@@ -154,21 +272,13 @@ function conditionalGroup(states, opts) {
154
272
  return group(states[0], { ...opts, expandedStates: states });
155
273
  }
156
274
  function fill(parts) {
157
- if (false) {
158
- for (const part of parts) {
159
- assertDoc(part);
160
- }
161
- }
275
+ assertDocArray(parts);
162
276
  return { type: DOC_TYPE_FILL, parts };
163
277
  }
164
278
  function ifBreak(breakContents, flatContents = "", opts = {}) {
165
- if (false) {
166
- if (breakContents) {
167
- assertDoc(breakContents);
168
- }
169
- if (flatContents) {
170
- assertDoc(flatContents);
171
- }
279
+ assertDoc(breakContents);
280
+ if (flatContents !== "") {
281
+ assertDoc(flatContents);
172
282
  }
173
283
  return {
174
284
  type: DOC_TYPE_IF_BREAK,
@@ -178,6 +288,7 @@ function ifBreak(breakContents, flatContents = "", opts = {}) {
178
288
  };
179
289
  }
180
290
  function indentIfBreak(contents, opts) {
291
+ assertDoc(contents);
181
292
  return {
182
293
  type: DOC_TYPE_INDENT_IF_BREAK,
183
294
  contents,
@@ -186,9 +297,7 @@ function indentIfBreak(contents, opts) {
186
297
  };
187
298
  }
188
299
  function lineSuffix(contents) {
189
- if (false) {
190
- assertDoc(contents);
191
- }
300
+ assertDoc(contents);
192
301
  return { type: DOC_TYPE_LINE_SUFFIX, contents };
193
302
  }
194
303
  var lineSuffixBoundary = { type: DOC_TYPE_LINE_SUFFIX_BOUNDARY };
@@ -205,17 +314,20 @@ var softline = { type: DOC_TYPE_LINE, soft: true };
205
314
  var hardline = [hardlineWithoutBreakParent, breakParent];
206
315
  var literalline = [literallineWithoutBreakParent, breakParent];
207
316
  var cursor = { type: DOC_TYPE_CURSOR };
208
- function join(sep, arr) {
209
- const res = [];
210
- for (let i = 0; i < arr.length; i++) {
317
+ function join(separator, docs) {
318
+ assertDoc(separator);
319
+ assertDocArray(docs);
320
+ const parts = [];
321
+ for (let i = 0; i < docs.length; i++) {
211
322
  if (i !== 0) {
212
- res.push(sep);
323
+ parts.push(separator);
213
324
  }
214
- res.push(arr[i]);
325
+ parts.push(docs[i]);
215
326
  }
216
- return res;
327
+ return parts;
217
328
  }
218
329
  function addAlignmentToDoc(doc, size, tabWidth) {
330
+ assertDoc(doc);
219
331
  let aligned = doc;
220
332
  if (size > 0) {
221
333
  for (let i = 0; i < Math.floor(size / tabWidth); ++i) {
@@ -227,6 +339,7 @@ function addAlignmentToDoc(doc, size, tabWidth) {
227
339
  return aligned;
228
340
  }
229
341
  function label(label2, contents) {
342
+ assertDoc(contents);
230
343
  return label2 ? { type: DOC_TYPE_LABEL, label: label2, contents } : contents;
231
344
  }
232
345
  var concat = (parts) => parts;
@@ -236,20 +349,32 @@ var printer_exports = {};
236
349
  __export(printer_exports, {
237
350
  printDocToString: () => printDocToString
238
351
  });
239
- init_define_process();
240
352
 
241
353
  // scripts/build/shims/at.js
242
- init_define_process();
243
- var at = (isOptionalObject, object, index, ...args) => {
354
+ var at = (isOptionalObject, object, index) => {
244
355
  if (isOptionalObject && (object === void 0 || object === null)) {
245
356
  return;
246
357
  }
247
- return object.at ? object.at(index, ...args) : object[index < 0 ? object.length + index : index];
358
+ return object.at ? object.at(index) : object[index < 0 ? object.length + index : index];
248
359
  };
249
360
  var at_default = at;
250
361
 
362
+ // scripts/build/shims/string-replace-all.js
363
+ var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => {
364
+ if (isOptionalObject && (original === void 0 || original === null)) {
365
+ return;
366
+ }
367
+ if (original.replaceAll) {
368
+ return original.replaceAll(pattern, replacement);
369
+ }
370
+ if (pattern.global) {
371
+ return original.replace(pattern, replacement);
372
+ }
373
+ return original.split(pattern).join(replacement);
374
+ };
375
+ var string_replace_all_default = stringReplaceAll;
376
+
251
377
  // src/common/end-of-line.js
252
- init_define_process();
253
378
  function convertEndOfLineToChars(value) {
254
379
  switch (value) {
255
380
  case "cr":
@@ -261,17 +386,7 @@ function convertEndOfLineToChars(value) {
261
386
  }
262
387
  }
263
388
 
264
- // src/utils/get-string-width.js
265
- init_define_process();
266
-
267
- // node_modules/string-width/index.js
268
- init_define_process();
269
-
270
- // node_modules/strip-ansi/index.js
271
- init_define_process();
272
-
273
389
  // node_modules/strip-ansi/node_modules/ansi-regex/index.js
274
- init_define_process();
275
390
  function ansiRegex({ onlyFirst = false } = {}) {
276
391
  const pattern = [
277
392
  "[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)",
@@ -289,12 +404,26 @@ function stripAnsi(string) {
289
404
  }
290
405
 
291
406
  // node_modules/string-width/node_modules/is-fullwidth-code-point/index.js
292
- init_define_process();
293
407
  function isFullwidthCodePoint(codePoint) {
294
408
  if (!Number.isInteger(codePoint)) {
295
409
  return false;
296
410
  }
297
- return codePoint >= 4352 && (codePoint <= 4447 || codePoint === 9001 || codePoint === 9002 || 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || 12880 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65131 || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 262141);
411
+ return codePoint >= 4352 && (codePoint <= 4447 || // Hangul Jamo
412
+ codePoint === 9001 || // LEFT-POINTING ANGLE BRACKET
413
+ codePoint === 9002 || // RIGHT-POINTING ANGLE BRACKET
414
+ // CJK Radicals Supplement .. Enclosed CJK Letters and Months
415
+ 11904 <= codePoint && codePoint <= 12871 && codePoint !== 12351 || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
416
+ 12880 <= codePoint && codePoint <= 19903 || // CJK Unified Ideographs .. Yi Radicals
417
+ 19968 <= codePoint && codePoint <= 42182 || // Hangul Jamo Extended-A
418
+ 43360 <= codePoint && codePoint <= 43388 || // Hangul Syllables
419
+ 44032 <= codePoint && codePoint <= 55203 || // CJK Compatibility Ideographs
420
+ 63744 <= codePoint && codePoint <= 64255 || // Vertical Forms
421
+ 65040 <= codePoint && codePoint <= 65049 || // CJK Compatibility Forms .. Small Form Variants
422
+ 65072 <= codePoint && codePoint <= 65131 || // Halfwidth and Fullwidth Forms
423
+ 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510 || // Kana Supplement
424
+ 110592 <= codePoint && codePoint <= 110593 || // Enclosed Ideographic Supplement
425
+ 127488 <= codePoint && codePoint <= 127569 || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
426
+ 131072 <= codePoint && codePoint <= 262141);
298
427
  }
299
428
 
300
429
  // node_modules/string-width/index.js
@@ -356,119 +485,6 @@ __export(utils_exports, {
356
485
  traverseDoc: () => traverse_doc_default,
357
486
  willBreak: () => willBreak
358
487
  });
359
- init_define_process();
360
-
361
- // src/document/utils/get-doc-type.js
362
- init_define_process();
363
- function getDocType(doc) {
364
- if (typeof doc === "string") {
365
- return DOC_TYPE_STRING;
366
- }
367
- if (Array.isArray(doc)) {
368
- return DOC_TYPE_ARRAY;
369
- }
370
- if (!doc) {
371
- return;
372
- }
373
- const { type } = doc;
374
- if (VALID_OBJECT_DOC_TYPES.has(type)) {
375
- return type;
376
- }
377
- }
378
- var get_doc_type_default = getDocType;
379
-
380
- // src/document/utils/traverse-doc.js
381
- init_define_process();
382
-
383
- // src/document/invalid-doc-error.js
384
- init_define_process();
385
- var disjunctionListFormat = (list) => [...list.slice(0, -1), `or ${at_default(false, list, -1)}`].join(", ");
386
- function getDocErrorMessage(doc) {
387
- const type = doc === null ? null : typeof doc;
388
- if (type !== "string" && type !== "object") {
389
- return `Unexpected doc '${type}',
390
- Expected it to be 'string' or 'object'.`;
391
- }
392
- if (get_doc_type_default(doc)) {
393
- throw new Error("doc is valid.");
394
- }
395
- const objectType = Object.prototype.toString.call(doc);
396
- if (objectType !== "[object Object]") {
397
- return `Unexpected doc '${objectType}'.`;
398
- }
399
- const EXPECTED_TYPE_VALUES = disjunctionListFormat([...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`));
400
- return `Unexpected doc.type '${doc.type}'.
401
- Expected it to be ${EXPECTED_TYPE_VALUES}.`;
402
- }
403
- var InvalidDocError = class extends Error {
404
- constructor(doc) {
405
- super(getDocErrorMessage(doc));
406
- __publicField(this, "name", "InvalidDocError");
407
- this.doc = doc;
408
- }
409
- };
410
- var invalid_doc_error_default = InvalidDocError;
411
-
412
- // src/document/utils/traverse-doc.js
413
- var traverseDocOnExitStackMarker = {};
414
- function traverseDoc(doc, onEnter, onExit, shouldTraverseConditionalGroups) {
415
- const docsStack = [doc];
416
- while (docsStack.length > 0) {
417
- const doc2 = docsStack.pop();
418
- if (doc2 === traverseDocOnExitStackMarker) {
419
- onExit(docsStack.pop());
420
- continue;
421
- }
422
- if (onExit) {
423
- docsStack.push(doc2, traverseDocOnExitStackMarker);
424
- }
425
- if ((onEnter == null ? void 0 : onEnter(doc2)) === false) {
426
- continue;
427
- }
428
- const docType = get_doc_type_default(doc2);
429
- switch (docType) {
430
- case DOC_TYPE_ARRAY:
431
- case DOC_TYPE_FILL: {
432
- const parts = docType === DOC_TYPE_ARRAY ? doc2 : doc2.parts;
433
- for (let ic = parts.length, i = ic - 1; i >= 0; --i) {
434
- docsStack.push(parts[i]);
435
- }
436
- break;
437
- }
438
- case DOC_TYPE_IF_BREAK:
439
- docsStack.push(doc2.flatContents, doc2.breakContents);
440
- break;
441
- case DOC_TYPE_GROUP:
442
- if (shouldTraverseConditionalGroups && doc2.expandedStates) {
443
- for (let ic = doc2.expandedStates.length, i = ic - 1; i >= 0; --i) {
444
- docsStack.push(doc2.expandedStates[i]);
445
- }
446
- } else {
447
- docsStack.push(doc2.contents);
448
- }
449
- break;
450
- case DOC_TYPE_ALIGN:
451
- case DOC_TYPE_INDENT:
452
- case DOC_TYPE_INDENT_IF_BREAK:
453
- case DOC_TYPE_LABEL:
454
- case DOC_TYPE_LINE_SUFFIX:
455
- docsStack.push(doc2.contents);
456
- break;
457
- case DOC_TYPE_STRING:
458
- case DOC_TYPE_CURSOR:
459
- case DOC_TYPE_TRIM:
460
- case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
461
- case DOC_TYPE_LINE:
462
- case DOC_TYPE_BREAK_PARENT:
463
- break;
464
- default:
465
- throw new invalid_doc_error_default(doc2);
466
- }
467
- }
468
- }
469
- var traverse_doc_default = traverseDoc;
470
-
471
- // src/document/utils.js
472
488
  var getDocParts = (doc) => {
473
489
  if (Array.isArray(doc)) {
474
490
  return doc;
@@ -577,7 +593,12 @@ function willBreak(doc) {
577
593
  }
578
594
  function breakParentGroup(groupStack) {
579
595
  if (groupStack.length > 0) {
580
- const parentGroup = at_default(false, groupStack, -1);
596
+ const parentGroup = at_default(
597
+ /* isOptionalObject*/
598
+ false,
599
+ groupStack,
600
+ -1
601
+ );
581
602
  if (!parentGroup.expandedStates && !parentGroup.break) {
582
603
  parentGroup.break = "propagated";
583
604
  }
@@ -607,7 +628,13 @@ function propagateBreaks(doc) {
607
628
  }
608
629
  }
609
630
  }
610
- traverse_doc_default(doc, propagateBreaksOnEnterFn, propagateBreaksOnExitFn, true);
631
+ traverse_doc_default(
632
+ doc,
633
+ propagateBreaksOnEnterFn,
634
+ propagateBreaksOnExitFn,
635
+ /* shouldTraverseConditionalGroups */
636
+ true
637
+ );
611
638
  }
612
639
  function removeLinesFn(doc) {
613
640
  if (doc.type === DOC_TYPE_LINE && !doc.hard) {
@@ -623,11 +650,26 @@ function removeLines(doc) {
623
650
  }
624
651
  function stripTrailingHardlineFromParts(parts) {
625
652
  parts = [...parts];
626
- while (parts.length >= 2 && at_default(false, parts, -2).type === DOC_TYPE_LINE && at_default(false, parts, -1).type === DOC_TYPE_BREAK_PARENT) {
653
+ while (parts.length >= 2 && at_default(
654
+ /* isOptionalObject*/
655
+ false,
656
+ parts,
657
+ -2
658
+ ).type === DOC_TYPE_LINE && at_default(
659
+ /* isOptionalObject*/
660
+ false,
661
+ parts,
662
+ -1
663
+ ).type === DOC_TYPE_BREAK_PARENT) {
627
664
  parts.length -= 2;
628
665
  }
629
666
  if (parts.length > 0) {
630
- const lastPart = stripTrailingHardlineFromDoc(at_default(false, parts, -1));
667
+ const lastPart = stripTrailingHardlineFromDoc(at_default(
668
+ /* isOptionalObject*/
669
+ false,
670
+ parts,
671
+ -1
672
+ ));
631
673
  parts[parts.length - 1] = lastPart;
632
674
  }
633
675
  return parts;
@@ -710,7 +752,12 @@ function cleanDocFn(doc) {
710
752
  continue;
711
753
  }
712
754
  const [currentPart, ...restParts] = Array.isArray(part) ? part : [part];
713
- if (typeof currentPart === "string" && typeof at_default(false, parts, -1) === "string") {
755
+ if (typeof currentPart === "string" && typeof at_default(
756
+ /* isOptionalObject*/
757
+ false,
758
+ parts,
759
+ -1
760
+ ) === "string") {
714
761
  parts[parts.length - 1] += currentPart;
715
762
  } else {
716
763
  parts.push(currentPart);
@@ -753,7 +800,12 @@ function normalizeParts(parts) {
753
800
  restParts.unshift(...part);
754
801
  continue;
755
802
  }
756
- if (newParts.length > 0 && typeof at_default(false, newParts, -1) === "string" && typeof part === "string") {
803
+ if (newParts.length > 0 && typeof at_default(
804
+ /* isOptionalObject*/
805
+ false,
806
+ newParts,
807
+ -1
808
+ ) === "string" && typeof part === "string") {
757
809
  newParts[newParts.length - 1] += part;
758
810
  continue;
759
811
  }
@@ -976,7 +1028,12 @@ function fits(next, restCommands, width, hasLineSuffix, groupModeMap, mustBeFlat
976
1028
  return false;
977
1029
  }
978
1030
  const groupMode = doc.break ? MODE_BREAK : mode;
979
- const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default(false, doc.expandedStates, -1) : doc.contents;
1031
+ const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default(
1032
+ /* isOptionalObject*/
1033
+ false,
1034
+ doc.expandedStates,
1035
+ -1
1036
+ ) : doc.contents;
980
1037
  cmds.push({
981
1038
  mode: groupMode,
982
1039
  doc: contents
@@ -1037,9 +1094,17 @@ function printDocToString(doc, options) {
1037
1094
  } = cmds.pop();
1038
1095
  switch (get_doc_type_default(doc2)) {
1039
1096
  case DOC_TYPE_STRING: {
1040
- const formatted = newLine !== "\n" ? doc2.replace(/\n/g, newLine) : doc2;
1097
+ const formatted = newLine !== "\n" ? string_replace_all_default(
1098
+ /* isOptionalObject*/
1099
+ false,
1100
+ doc2,
1101
+ "\n",
1102
+ newLine
1103
+ ) : doc2;
1041
1104
  out.push(formatted);
1042
- pos += get_string_width_default(formatted);
1105
+ if (cmds.length > 0) {
1106
+ pos += get_string_width_default(formatted);
1107
+ }
1043
1108
  break;
1044
1109
  }
1045
1110
  case DOC_TYPE_ARRAY:
@@ -1099,7 +1164,12 @@ function printDocToString(doc, options) {
1099
1164
  cmds.push(next);
1100
1165
  } else {
1101
1166
  if (doc2.expandedStates) {
1102
- const mostExpanded = at_default(false, doc2.expandedStates, -1);
1167
+ const mostExpanded = at_default(
1168
+ /* isOptionalObject*/
1169
+ false,
1170
+ doc2.expandedStates,
1171
+ -1
1172
+ );
1103
1173
  if (doc2.break) {
1104
1174
  cmds.push({
1105
1175
  ind,
@@ -1142,7 +1212,12 @@ function printDocToString(doc, options) {
1142
1212
  }
1143
1213
  }
1144
1214
  if (doc2.id) {
1145
- groupModeMap[doc2.id] = at_default(false, cmds, -1).mode;
1215
+ groupModeMap[doc2.id] = at_default(
1216
+ /* isOptionalObject*/
1217
+ false,
1218
+ cmds,
1219
+ -1
1220
+ ).mode;
1146
1221
  }
1147
1222
  break;
1148
1223
  case DOC_TYPE_FILL: {
@@ -1331,7 +1406,6 @@ var debug_exports = {};
1331
1406
  __export(debug_exports, {
1332
1407
  printDocToDebug: () => printDocToDebug
1333
1408
  });
1334
- init_define_process();
1335
1409
  function flattenDoc(doc) {
1336
1410
  var _a;
1337
1411
  if (!doc) {
@@ -1378,6 +1452,7 @@ function printDocToDebug(doc) {
1378
1452
  const usedKeysForSymbols = /* @__PURE__ */ new Set();
1379
1453
  return printDoc(flattenDoc(doc));
1380
1454
  function printDoc(doc2, index, parentParts) {
1455
+ var _a, _b;
1381
1456
  if (typeof doc2 === "string") {
1382
1457
  return JSON.stringify(doc2);
1383
1458
  }
@@ -1386,7 +1461,7 @@ function printDocToDebug(doc) {
1386
1461
  return printed.length === 1 ? printed[0] : `[${printed.join(", ")}]`;
1387
1462
  }
1388
1463
  if (doc2.type === DOC_TYPE_LINE) {
1389
- const withBreakParent = Array.isArray(parentParts) && parentParts[index + 1] && parentParts[index + 1].type === DOC_TYPE_BREAK_PARENT;
1464
+ const withBreakParent = ((_a = parentParts == null ? void 0 : parentParts[index + 1]) == null ? void 0 : _a.type) === DOC_TYPE_BREAK_PARENT;
1390
1465
  if (doc2.literal) {
1391
1466
  return withBreakParent ? "literalline" : "literallineWithoutBreakParent";
1392
1467
  }
@@ -1399,7 +1474,7 @@ function printDocToDebug(doc) {
1399
1474
  return "line";
1400
1475
  }
1401
1476
  if (doc2.type === DOC_TYPE_BREAK_PARENT) {
1402
- const afterHardline = Array.isArray(parentParts) && parentParts[index - 1] && parentParts[index - 1].type === DOC_TYPE_LINE && parentParts[index - 1].hard;
1477
+ const afterHardline = ((_b = parentParts == null ? void 0 : parentParts[index - 1]) == null ? void 0 : _b.type) === DOC_TYPE_LINE && parentParts[index - 1].hard;
1403
1478
  return afterHardline ? void 0 : "breakParent";
1404
1479
  }
1405
1480
  if (doc2.type === DOC_TYPE_TRIM) {