@xnoxs/flux-lang 4.0.7 → 4.0.8

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/flux-cli.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! flux-lang v4.0.7 - MIT License */
1
+ /*! flux-lang v4.0.8 - MIT License */
2
2
  "use strict";
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __commonJS = (cb, mod) => function __require() {
@@ -9,9 +9,9 @@ var __commonJS = (cb, mod) => function __require() {
9
9
  }
10
10
  };
11
11
 
12
- // ../../../tmp/flux-publish-v5/src/self/lexer.js
12
+ // ../../../tmp/flux-pub8/src/self/lexer.js
13
13
  var require_lexer = __commonJS({
14
- "../../../tmp/flux-publish-v5/src/self/lexer.js"(exports2, module2) {
14
+ "../../../tmp/flux-pub8/src/self/lexer.js"(exports2, module2) {
15
15
  var T = { NUMBER: "NUMBER", STRING: "STRING", BOOL: "BOOL", NULL: "NULL", IDENT: "IDENT", VAR: "VAR", VAL: "VAL", FN: "FN", RETURN: "RETURN", IF: "IF", ELSE: "ELSE", FOR: "FOR", IN: "IN", WHILE: "WHILE", BREAK: "BREAK", CONTINUE: "CONTINUE", DO: "DO", CLASS: "CLASS", EXTENDS: "EXTENDS", SELF: "SELF", NEW: "NEW", INTERFACE: "INTERFACE", IMPLEMENTS: "IMPLEMENTS", PRIVATE: "PRIVATE", PUBLIC: "PUBLIC", PROTECTED: "PROTECTED", READONLY: "READONLY", STATIC: "STATIC", ABSTRACT: "ABSTRACT", OVERRIDE: "OVERRIDE", MATCH: "MATCH", WHEN: "WHEN", IMPORT: "IMPORT", EXPORT: "EXPORT", FROM: "FROM", AS: "AS", DEFAULT: "DEFAULT", AND: "AND", OR: "OR", NOT: "NOT", ASYNC: "ASYNC", AWAIT: "AWAIT", TRY: "TRY", CATCH: "CATCH", FINALLY: "FINALLY", THROW: "THROW", TYPEOF: "TYPEOF", INSTANCEOF: "INSTANCEOF", TYPE: "TYPE", ENUM: "ENUM", SATISFIES: "SATISFIES", IS: "IS", CONST: "CONST", PLUS: "PLUS", MINUS: "MINUS", STAR: "STAR", SLASH: "SLASH", PERCENT: "PERCENT", REGEX: "REGEX", STARSTAR: "STARSTAR", EQ: "EQ", EQEQ: "EQEQ", NEQ: "NEQ", EQEQEQ: "EQEQEQ", NEQEQ: "NEQEQ", LT: "LT", LTE: "LTE", GT: "GT", GTE: "GTE", PLUSEQ: "PLUSEQ", MINUSEQ: "MINUSEQ", STAREQ: "STAREQ", SLASHEQ: "SLASHEQ", PERCENTEQ: "PERCENTEQ", PLUSPLUS: "PLUSPLUS", MINUSMINUS: "MINUSMINUS", AMPERSAND: "AMPERSAND", ANDAND: "ANDAND", PIPEB: "PIPEB", OROR: "OROR", CARET: "CARET", TILDE: "TILDE", LSHIFT: "LSHIFT", RSHIFT: "RSHIFT", ARROW: "ARROW", FATARROW: "FATARROW", PIPE: "PIPE", DOTDOT: "DOTDOT", DOTDOTDOT: "DOTDOTDOT", WILDCARD: "WILDCARD", NULLISH: "NULLISH", QUESTIONDOT: "QUESTIONDOT", BANG: "BANG", AT: "AT", LPAREN: "LPAREN", RPAREN: "RPAREN", LBRACKET: "LBRACKET", RBRACKET: "RBRACKET", LBRACE: "LBRACE", RBRACE: "RBRACE", COMMA: "COMMA", DOT: "DOT", COLON: "COLON", QUESTION: "QUESTION", NEWLINE: "NEWLINE", INDENT: "INDENT", DEDENT: "DEDENT", EOF: "EOF" };
16
16
  module2.exports.T = T;
17
17
  var TokenType = T;
@@ -617,9 +617,9 @@ var require_lexer = __commonJS({
617
617
  }
618
618
  });
619
619
 
620
- // ../../../tmp/flux-publish-v5/src/self/parser.js
620
+ // ../../../tmp/flux-pub8/src/self/parser.js
621
621
  var require_parser = __commonJS({
622
- "../../../tmp/flux-publish-v5/src/self/parser.js"(exports2, module2) {
622
+ "../../../tmp/flux-pub8/src/self/parser.js"(exports2, module2) {
623
623
  var { T } = require_lexer();
624
624
  function makeParseError(msg, tok) {
625
625
  const line = (tok == null ? void 0 : tok.line) ?? "?";
@@ -2129,9 +2129,9 @@ var require_parser = __commonJS({
2129
2129
  }
2130
2130
  });
2131
2131
 
2132
- // ../../../tmp/flux-publish-v5/src/self/codegen.js
2132
+ // ../../../tmp/flux-pub8/src/self/codegen.js
2133
2133
  var require_codegen = __commonJS({
2134
- "../../../tmp/flux-publish-v5/src/self/codegen.js"(exports2, module2) {
2134
+ "../../../tmp/flux-pub8/src/self/codegen.js"(exports2, module2) {
2135
2135
  var { Lexer, lexerize, T } = require_lexer();
2136
2136
  var { Parser, makeParser } = require_parser();
2137
2137
  function _a(_e) {
@@ -2840,9 +2840,9 @@ var require_codegen = __commonJS({
2840
2840
  }
2841
2841
  });
2842
2842
 
2843
- // ../../../tmp/flux-publish-v5/src/self/css-preprocessor.js
2843
+ // ../../../tmp/flux-pub8/src/self/css-preprocessor.js
2844
2844
  var require_css_preprocessor = __commonJS({
2845
- "../../../tmp/flux-publish-v5/src/self/css-preprocessor.js"(exports2, module2) {
2845
+ "../../../tmp/flux-pub8/src/self/css-preprocessor.js"(exports2, module2) {
2846
2846
  var CSS_PROP_MAP = { bg: "background", fg: "color", p: "padding", px: "padding-inline", py: "padding-block", pt: "padding-top", pb: "padding-bottom", pl: "padding-left", pr: "padding-right", m: "margin", mx: "margin-inline", my: "margin-block", mt: "margin-top", mb: "margin-bottom", ml: "margin-left", mr: "margin-right", radius: "border-radius", w: "width", h: "height", "min-w": "min-width", "max-w": "max-width", "min-h": "min-height", "max-h": "max-height", gap: "gap", "col-gap": "column-gap", "row-gap": "row-gap", text: "font-size", font: "font-family", weight: "font-weight", tracking: "letter-spacing", leading: "line-height", shadow: "box-shadow", opacity: "opacity", border: "border", outline: "outline", transition: "transition", cursor: "cursor", overflow: "overflow", "overflow-x": "overflow-x", "overflow-y": "overflow-y", z: "z-index", transform: "transform", content: "content", resize: "resize", appearance: "appearance", "object-fit": "object-fit", "accent-color": "accent-color", direction: "flex-direction", wrap: "flex-wrap", align: "align-items", justify: "justify-content", "align-self": "align-self", "justify-self": "justify-self", grow: "flex-grow", shrink: "flex-shrink", basis: "flex-basis", order: "order", cols: "grid-template-columns", rows: "grid-template-rows", "col-span": "grid-column", "row-span": "grid-row", "place-items": "place-items", "place-content": "place-content", "list-style": "list-style", "text-align": "text-align", decoration: "text-decoration", "text-transform": "text-transform", "white-space": "white-space", "word-break": "word-break", "user-select": "user-select", "pointer-events": "pointer-events", "vertical-align": "vertical-align", backdrop: "backdrop-filter", filter: "filter", clip: "clip-path", animation: "animation", position: "position", top: "top", right: "right", bottom: "bottom", left: "left", inset: "inset", color: "color", background: "background" };
2847
2847
  module2.exports.CSS_PROP_MAP = CSS_PROP_MAP;
2848
2848
  var CSS_BOOL_MAP = { flex: "display: flex", grid: "display: grid", block: "display: block", inline: "display: inline", "inline-flex": "display: inline-flex", "inline-block": "display: inline-block", "inline-grid": "display: inline-grid", bold: "font-weight: 700", italic: "font-style: italic", relative: "position: relative", absolute: "position: absolute", fixed: "position: fixed", sticky: "position: sticky", hidden: "display: none", pointer: "cursor: pointer", underline: "text-decoration: underline", "line-through": "text-decoration: line-through", capitalize: "text-transform: capitalize", uppercase: "text-transform: uppercase", lowercase: "text-transform: lowercase", truncate: "overflow: hidden; text-overflow: ellipsis; white-space: nowrap", "select-none": "user-select: none", "no-wrap": "white-space: nowrap", "no-list": "list-style: none", "no-outline": "outline: none", "no-border": "border: none", "no-bg": "background: transparent", "no-padding": "padding: 0", "no-margin": "margin: 0", "no-resize": "resize: none", center: "text-align: center", "items-center": "align-items: center", "justify-center": "justify-content: center", "place-center": "place-items: center", "flex-col": "flex-direction: column", "flex-row": "flex-direction: row", "flex-wrap": "flex-wrap: wrap", "flex-1": "flex: 1", "w-full": "width: 100%", "h-full": "height: 100%", "w-screen": "width: 100vw", "h-screen": "height: 100vh", "box-border": "box-sizing: border-box" };
@@ -3201,9 +3201,9 @@ var require_css_preprocessor = __commonJS({
3201
3201
  }
3202
3202
  });
3203
3203
 
3204
- // ../../../tmp/flux-publish-v5/src/self/jsx.js
3204
+ // ../../../tmp/flux-pub8/src/self/jsx.js
3205
3205
  var require_jsx = __commonJS({
3206
- "../../../tmp/flux-publish-v5/src/self/jsx.js"(exports2, module2) {
3206
+ "../../../tmp/flux-pub8/src/self/jsx.js"(exports2, module2) {
3207
3207
  "use strict";
3208
3208
  var JSX_STYLE_VALUE_PROPS = { bg: (v) => "background:" + v, fg: (v) => "color:" + v, color: (v) => "color:" + v, p: (v) => "padding:" + v, px: (v) => "paddingLeft:" + v + ",paddingRight:" + v, py: (v) => "paddingTop:" + v + ",paddingBottom:" + v, pt: (v) => "paddingTop:" + v, pb: (v) => "paddingBottom:" + v, pl: (v) => "paddingLeft:" + v, pr: (v) => "paddingRight:" + v, m: (v) => "margin:" + v, mx: (v) => "marginLeft:" + v + ",marginRight:" + v, my: (v) => "marginTop:" + v + ",marginBottom:" + v, mt: (v) => "marginTop:" + v, mb: (v) => "marginBottom:" + v, ml: (v) => "marginLeft:" + v, mr: (v) => "marginRight:" + v, radius: (v) => "borderRadius:" + v, w: (v) => "width:" + v, h: (v) => "height:" + v, "min-w": (v) => "minWidth:" + v, "max-w": (v) => "maxWidth:" + v, "min-h": (v) => "minHeight:" + v, "max-h": (v) => "maxHeight:" + v, gap: (v) => "gap:" + v, "col-gap": (v) => "columnGap:" + v, "row-gap": (v) => "rowGap:" + v, text: (v) => "fontSize:" + v, font: (v) => "fontFamily:" + v, weight: (v) => "fontWeight:" + v, tracking: (v) => "letterSpacing:" + v, leading: (v) => "lineHeight:" + v, shadow: (v) => "boxShadow:" + v, opacity: (v) => "opacity:" + v, border: (v) => "border:" + v, outline: (v) => "outline:" + v, transition: (v) => "transition:" + v, cursor: (v) => "cursor:" + v, overflow: (v) => "overflow:" + v, z: (v) => "zIndex:" + v, transform: (v) => "transform:" + v, direction: (v) => "flexDirection:" + v, align: (v) => "alignItems:" + v, justify: (v) => "justifyContent:" + v, "align-self": (v) => "alignSelf:" + v, "place-items": (v) => "placeItems:" + v, grow: (v) => "flexGrow:" + v, shrink: (v) => "flexShrink:" + v, basis: (v) => "flexBasis:" + v, cols: (v) => "gridTemplateColumns:" + v, rows: (v) => "gridTemplateRows:" + v, inset: (v) => "inset:" + v, top: (v) => "top:" + v, right: (v) => "right:" + v, bottom: (v) => "bottom:" + v, left: (v) => "left:" + v, "object-fit": (v) => "objectFit:" + v, "line-height": (v) => "lineHeight:" + v, "text-align": (v) => "textAlign:" + v, decoration: (v) => "textDecoration:" + v, clip: (v) => "clipPath:" + v, filter: (v) => "filter:" + v, backdrop: (v) => "backdropFilter:" + v, animation: (v) => "animation:" + v };
3209
3209
  var JSX_STYLE_BOOL_PROPS = { flex: 'display:"flex"', grid: 'display:"grid"', block: 'display:"block"', "inline-flex": 'display:"inline-flex"', "inline-block": 'display:"inline-block"', bold: "fontWeight:700", italic: 'fontStyle:"italic"', underline: 'textDecoration:"underline"', pointer: 'cursor:"pointer"', hidden: 'display:"none"', relative: 'position:"relative"', absolute: 'position:"absolute"', fixed: 'position:"fixed"', sticky: 'position:"sticky"', "flex-col": 'flexDirection:"column"', "flex-row": 'flexDirection:"row"', "flex-wrap": 'flexWrap:"wrap"', "flex-1": "flex:1", "w-full": 'width:"100%"', "h-full": 'height:"100%"', center: 'textAlign:"center"', truncate: 'overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"', "select-none": 'userSelect:"none"', "no-wrap": 'whiteSpace:"nowrap"', "no-list": 'listStyle:"none"', "no-outline": 'outline:"none"', "no-border": 'border:"none"', "box-border": 'boxSizing:"border-box"' };
@@ -3552,9 +3552,9 @@ var require_jsx = __commonJS({
3552
3552
  }
3553
3553
  });
3554
3554
 
3555
- // ../../../tmp/flux-publish-v5/src/self/checker.js
3555
+ // ../../../tmp/flux-pub8/src/self/checker.js
3556
3556
  var require_checker = __commonJS({
3557
- "../../../tmp/flux-publish-v5/src/self/checker.js"(exports2, module2) {
3557
+ "../../../tmp/flux-pub8/src/self/checker.js"(exports2, module2) {
3558
3558
  "use strict";
3559
3559
  var CheckError = class {
3560
3560
  constructor(message, loc, hint, name, line, col) {
@@ -3843,9 +3843,9 @@ var require_checker = __commonJS({
3843
3843
  }
3844
3844
  });
3845
3845
 
3846
- // ../../../tmp/flux-publish-v5/src/self/type-checker.js
3846
+ // ../../../tmp/flux-pub8/src/self/type-checker.js
3847
3847
  var require_type_checker = __commonJS({
3848
- "../../../tmp/flux-publish-v5/src/self/type-checker.js"(exports2, module2) {
3848
+ "../../../tmp/flux-pub8/src/self/type-checker.js"(exports2, module2) {
3849
3849
  var T_ANY = Object.freeze({ kind: "any" });
3850
3850
  module2.exports.T_ANY = T_ANY;
3851
3851
  var T_UNKNOWN = Object.freeze({ kind: "unknown" });
@@ -4891,9 +4891,9 @@ var require_type_checker = __commonJS({
4891
4891
  }
4892
4892
  });
4893
4893
 
4894
- // ../../../tmp/flux-publish-v5/src/self/transpiler.js
4894
+ // ../../../tmp/flux-pub8/src/self/transpiler.js
4895
4895
  var require_transpiler = __commonJS({
4896
- "../../../tmp/flux-publish-v5/src/self/transpiler.js"(exports2, module2) {
4896
+ "../../../tmp/flux-pub8/src/self/transpiler.js"(exports2, module2) {
4897
4897
  "use strict";
4898
4898
  var { Lexer, lexerize, T } = require_lexer();
4899
4899
  var { Parser, makeParser } = require_parser();
@@ -4909,7 +4909,7 @@ var require_transpiler = __commonJS({
4909
4909
  const pkgPath = Path2.resolve(__dirname, "../../package.json");
4910
4910
  return JSON.parse(Fs2.readFileSync(pkgPath, "utf8")).version;
4911
4911
  } catch (e) {
4912
- return "4.0.1";
4912
+ return "4.0.7";
4913
4913
  }
4914
4914
  }
4915
4915
  var FLUX_VERSION2 = _readFluxVersion();
@@ -4987,9 +4987,9 @@ var require_transpiler = __commonJS({
4987
4987
  }
4988
4988
  });
4989
4989
 
4990
- // ../../../tmp/flux-publish-v5/src/self/bundler.js
4990
+ // ../../../tmp/flux-pub8/src/self/bundler.js
4991
4991
  var require_bundler = __commonJS({
4992
- "../../../tmp/flux-publish-v5/src/self/bundler.js"(exports2, module2) {
4992
+ "../../../tmp/flux-pub8/src/self/bundler.js"(exports2, module2) {
4993
4993
  "use strict";
4994
4994
  var Fs2 = require("fs");
4995
4995
  var Path2 = require("path");
@@ -5164,9 +5164,9 @@ var require_bundler = __commonJS({
5164
5164
  }
5165
5165
  });
5166
5166
 
5167
- // ../../../tmp/flux-publish-v5/src/self/formatter.js
5167
+ // ../../../tmp/flux-pub8/src/self/formatter.js
5168
5168
  var require_formatter = __commonJS({
5169
- "../../../tmp/flux-publish-v5/src/self/formatter.js"(exports2, module2) {
5169
+ "../../../tmp/flux-pub8/src/self/formatter.js"(exports2, module2) {
5170
5170
  function normalizeOperators(line) {
5171
5171
  if ((line.match(/:/g) ?? []).length > 2) {
5172
5172
  return line;
@@ -5273,9 +5273,9 @@ var require_formatter = __commonJS({
5273
5273
  }
5274
5274
  });
5275
5275
 
5276
- // ../../../tmp/flux-publish-v5/src/self/linter.js
5276
+ // ../../../tmp/flux-pub8/src/self/linter.js
5277
5277
  var require_linter = __commonJS({
5278
- "../../../tmp/flux-publish-v5/src/self/linter.js"(exports2, module2) {
5278
+ "../../../tmp/flux-pub8/src/self/linter.js"(exports2, module2) {
5279
5279
  var { lexerize } = require_lexer();
5280
5280
  var { makeParser } = require_parser();
5281
5281
  var BUILTIN_NAMES = /* @__PURE__ */ new Set(["self", "this", "arguments", "exports", "module", "require", "__dirname", "__filename", "process", "console", "Math", "JSON", "Object", "Array", "String", "Number", "Boolean", "Promise", "Error", "Symbol", "Map", "Set", "WeakMap", "WeakSet", "Proxy", "Reflect", "undefined", "null", "true", "false", "NaN", "Infinity", "parseInt", "parseFloat", "isNaN", "isFinite", "setTimeout", "clearTimeout", "setInterval", "clearInterval", "fetch", "globalThis", "print", "truncate", "range", "sum", "first", "last", "zip", "flatten", "groupBy", "unique", "sortBy", "chunk"]);
@@ -6037,9 +6037,9 @@ var require_linter = __commonJS({
6037
6037
  }
6038
6038
  });
6039
6039
 
6040
- // ../../../tmp/flux-publish-v5/src/self/test-runner.js
6040
+ // ../../../tmp/flux-pub8/src/self/test-runner.js
6041
6041
  var require_test_runner = __commonJS({
6042
- "../../../tmp/flux-publish-v5/src/self/test-runner.js"(exports2, module2) {
6042
+ "../../../tmp/flux-pub8/src/self/test-runner.js"(exports2, module2) {
6043
6043
  var Fs2 = require("fs");
6044
6044
  var Path2 = require("path");
6045
6045
  var Os2 = require("os");
@@ -6204,9 +6204,9 @@ function __runTest(name, fn) {
6204
6204
  }
6205
6205
  });
6206
6206
 
6207
- // ../../../tmp/flux-publish-v5/src/self/config.js
6207
+ // ../../../tmp/flux-pub8/src/self/config.js
6208
6208
  var require_config = __commonJS({
6209
- "../../../tmp/flux-publish-v5/src/self/config.js"(exports2, module2) {
6209
+ "../../../tmp/flux-pub8/src/self/config.js"(exports2, module2) {
6210
6210
  "use strict";
6211
6211
  var Fs2 = require("fs");
6212
6212
  var Path2 = require("path");
@@ -6303,9 +6303,9 @@ var require_config = __commonJS({
6303
6303
  }
6304
6304
  });
6305
6305
 
6306
- // ../../../tmp/flux-publish-v5/src/self/pkg.js
6306
+ // ../../../tmp/flux-pub8/src/self/pkg.js
6307
6307
  var require_pkg = __commonJS({
6308
- "../../../tmp/flux-publish-v5/src/self/pkg.js"(exports2, module2) {
6308
+ "../../../tmp/flux-pub8/src/self/pkg.js"(exports2, module2) {
6309
6309
  "use strict";
6310
6310
  var Fs2 = require("fs");
6311
6311
  var Path2 = require("path");
@@ -6629,7 +6629,7 @@ var require_pkg = __commonJS({
6629
6629
  }
6630
6630
  });
6631
6631
 
6632
- // ../../../tmp/flux-publish-v5/src/self/cli.js
6632
+ // ../../../tmp/flux-pub8/src/self/cli.js
6633
6633
  var Fs = require("fs");
6634
6634
  var Path = require("path");
6635
6635
  var Os = require("os");
package/dist/flux.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * flux-lang v4.0.7
2
+ * flux-lang v4.0.8
3
3
  * Flux — A modern language that transpiles to JavaScript. Python-clean syntax, TypeScript-level safety, Rust-inspired pattern matching.
4
4
  * (c) 2026 Flux Lang Contributors
5
5
  * Released under the MIT License
package/dist/flux.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * flux-lang v4.0.1
2
+ * flux-lang v4.0.8
3
3
  * Flux — A modern language that transpiles to JavaScript. Python-clean syntax, TypeScript-level safety, Rust-inspired pattern matching.
4
4
  * (c) 2026 Flux Lang Contributors
5
5
  * Released under the MIT License
package/dist/flux.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * flux-lang v4.0.1
2
+ * flux-lang v4.0.8
3
3
  * Flux — A modern language that transpiles to JavaScript. Python-clean syntax, TypeScript-level safety, Rust-inspired pattern matching.
4
4
  * (c) 2026 Flux Lang Contributors
5
5
  * Released under the MIT License
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xnoxs/flux-lang",
3
- "version": "4.0.7",
3
+ "version": "4.0.8",
4
4
  "description": "Flux — A modern language that transpiles to JavaScript. Python-clean syntax, TypeScript-level safety, Rust-inspired pattern matching.",
5
5
  "main": "dist/flux.cjs.js",
6
6
  "module": "dist/flux.esm.js",
@@ -24,7 +24,7 @@ fn _readFluxVersion():
24
24
  val pkgPath = Path.resolve(__dirname, "../../package.json")
25
25
  return JSON.parse(Fs.readFileSync(pkgPath, "utf8")).version
26
26
  catch(e):
27
- return "4.0.1"
27
+ return "4.0.7"
28
28
 
29
29
  export val FLUX_VERSION = _readFluxVersion()
30
30
  export val FLUX_STAGE = "self-hosted"
@@ -1,3 +1,5 @@
1
+ /* compiled from src/self/transpiler.flux */
2
+ 'use strict';
1
3
  // Generated by Flux Transpiler v3.2.0
2
4
  "use strict";
3
5
 
@@ -16,7 +18,7 @@ function _readFluxVersion() {
16
18
  return JSON.parse(Fs.readFileSync(pkgPath, "utf8")).version;
17
19
  }
18
20
  catch (e) {
19
- return "4.0.1";
21
+ return "4.0.7";
20
22
  }
21
23
  }
22
24
  const FLUX_VERSION = _readFluxVersion();