@sweetener/cli 0.1.0-alpha.2 → 0.1.0-alpha.4

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/SKILL.md CHANGED
@@ -139,10 +139,12 @@ export const pair = twice(21);
139
139
 
140
140
  export operator (|>):expr {
141
141
  fixity infix;
142
- associativity left;
143
- precedence 40;
144
- rule { $value:expr |> $body:expr } => {
145
- ((topic) => #parameterize(% = topic) { $body })($value)
142
+ associativity right;
143
+ precedence 20;
144
+ rule { $value:expr |> $body:expr }
145
+ refine $body form not in (conditional, arrow, assignment, yield);
146
+ => {
147
+ #let(topic = $value) { #parameterize(required % = topic) { $body } }
146
148
  }
147
149
  }
148
150
  ```
@@ -153,7 +155,40 @@ export const pair = twice(21);
153
155
  operands is still remainder. Hygiene alone cannot do this, because the `%`
154
156
  was written by the user and `topic` by the template. A parameter may have
155
157
  rules, used where no `#parameterize` names it; one without rules is reported
156
- there.
158
+ there. `required` reports a body that never uses the parameter.
159
+
160
+ - **A value used more than once, evaluated once**: `#let(name = $value) { body }`.
161
+ It becomes `((name) => body)(value)`, unless the body has an `await` or
162
+ `yield` of its own, which cannot move into a function; then it assigns a
163
+ variable declared in the enclosing function instead. Prefer it to writing the
164
+ arrow yourself, which breaks `await` in the body.
165
+ - **An expression of a particular form**: `refine $body form not in (conditional,
166
+ arrow, assignment, yield, await)` refuses those forms unparenthesized, and
167
+ `form in (...)` accepts only them.
168
+ - **An operator whose right side is not an expression**: a rule may spell it
169
+ literally, `rule { $value:expr |> await } => { await $value }`, and
170
+ `operand arrow;` lets an unparenthesized arrow stand there, ending at the next
171
+ use of the operator: `x |> n => n + 1 |> f`.
172
+
173
+ - **A template that writes a `yield` or an `await`**: name the context the rule
174
+ needs, `context generator;` or `context async;`, and it is used only where
175
+ that is an expression.
176
+
177
+ ```ts
178
+ export syntax emit:stmt {
179
+ rule { emit $value:expr; }
180
+ context generator;
181
+ => { yield $value; }
182
+ }
183
+ ```
184
+
185
+ `yield` is an expression inside a generator's own body, `await` inside an
186
+ async function's own body and at the top level of a module; an `async
187
+ function*` gives both, and a rule that writes both names both. Written
188
+ anywhere else — a plain function inside an async one, an arrow that is not
189
+ `async`, a parameter default, a class field initializer, a static block — the
190
+ rule is refused and reported where it was written, rather than expanding into
191
+ code TypeScript rejects.
157
192
 
158
193
  - **A name that begins with `$`** (`$inferSelect`, `$state`): write `$$` for
159
194
  the `$`, as in `typeof $table.$$inferSelect`. `$name` alone is a capture, in
@@ -1 +1 @@
1
- {"version":3,"file":"command-line.d.ts","sourceRoot":"","sources":["../../src/command-line.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAKL,KAAK,2BAA2B,EACjC,MAAM,sBAAsB,CAAC;AAM9B,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;CAChE;AAED,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC,GACD;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC7B;IACE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AA6BN,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,CAiGzE;AAsJD,wBAAgB,MAAM,CAAC,OAAO,EAAE;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;CAAE,CAqQ9D"}
1
+ {"version":3,"file":"command-line.d.ts","sourceRoot":"","sources":["../../src/command-line.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAKL,KAAK,2BAA2B,EACjC,MAAM,sBAAsB,CAAC;AAM9B,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;CAChE;AAED,MAAM,MAAM,aAAa,GACrB;IACE,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAC9C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C,GACD;IACE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC,GACD;IAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GAC7B;IACE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,CAAC;AA8BN,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,aAAa,CAiGzE;AA2JD,wBAAgB,MAAM,CAAC,OAAO,EAAE;IAC9B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,kBAAkB,CAAC,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;CAAE,CAiR9D"}
@@ -11,9 +11,10 @@ import { guideFileName, guidePath, readGuide } from "./guide.js";
11
11
  /**
12
12
  * Pull `-p`/`--project` out of an argument list.
13
13
  *
14
- * `expand` and `explain` used to reject it, and only ever discovered a
15
- * `tsconfig.json`. `init` writes `sweetener.json`, so in a scaffolded project
16
- * two of the commands could not read the config the other four were using.
14
+ * Every command takes it, `expand` and `explain` included. `init` writes
15
+ * `sweetener.json`, which nothing discovers the way a `tsconfig.json` is
16
+ * discovered, so a command that could not be pointed at a config could not
17
+ * read the one the others in a scaffolded project use.
17
18
  */
18
19
  function splitProjectOption(argv) {
19
20
  const positional = [];
@@ -134,9 +135,13 @@ function at(file, start) {
134
135
  }
135
136
  function renderDiagnostic(diagnostic) {
136
137
  const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, "\n");
138
+ // A warning is a line on the same stream as an error, and a command that
139
+ // prints one and then reports success reads as a contradiction unless the
140
+ // line says which it is. Errors keep the spelling they have always had.
141
+ const severity = diagnostic.category === ts.DiagnosticCategory.Warning ? "warning " : "";
137
142
  const head = diagnostic.file === undefined || diagnostic.start === undefined
138
- ? `TS${String(diagnostic.code)}: ${message}`
139
- : `${at(diagnostic.file, diagnostic.start)} TS${String(diagnostic.code)}: ${message}`;
143
+ ? `${severity}TS${String(diagnostic.code)}: ${message}`
144
+ : `${at(diagnostic.file, diagnostic.start)} ${severity}TS${String(diagnostic.code)}: ${message}`;
140
145
  // A diagnostic that points somewhere else as well — the rule that wanted
141
146
  // different syntax, the binding already holding a name — is most of the
142
147
  // answer, and printing only the first line threw that away.
@@ -197,10 +202,10 @@ function excerpt(text, start, end) {
197
202
  /**
198
203
  * What `explain` says to a person.
199
204
  *
200
- * It used to print the raw origin records: interned numeric ids, byte offsets,
201
- * and a `sourceId` in place of a file name. That is the shape a tool wants,
202
- * and it is still available behind `--json`, but a command called `explain`
203
- * should answer in the terms the question was asked in.
205
+ * The raw origin records -- interned numeric ids, byte offsets, and a
206
+ * `sourceId` in place of a file name -- are the shape a tool wants, and they
207
+ * are available behind `--json`, but a command called `explain` should answer
208
+ * in the terms the question was asked in.
204
209
  */
205
210
  function describeExplanation(options) {
206
211
  const { explanation, fileName, sourceText, generatedText } = options;
@@ -288,7 +293,10 @@ export function runCli(options) {
288
293
  });
289
294
  for (const diagnostic of result.diagnostics)
290
295
  options.io.stderr(`${renderDiagnostic(diagnostic)}\n`);
291
- if (result.diagnostics.length > 0) {
296
+ // Only an error means nothing was expanded. A warning here is what
297
+ // expansion knows about a name it left standing, which it cannot confirm
298
+ // without a checker and which does not make the written text wrong.
299
+ if (result.diagnostics.some(({ category }) => category === ts.DiagnosticCategory.Error)) {
292
300
  options.io.stdout("emit: failed\n");
293
301
  return Object.freeze({ exitCode: 1 });
294
302
  }
@@ -392,22 +400,27 @@ export function runCli(options) {
392
400
  return Object.freeze({ exitCode: 1 });
393
401
  }
394
402
  // Printing the source, or an account of where it came from, and reporting
395
- // success would say the macros ran. `explain` used to report the origins of
396
- // an expansion that never happened, which reads as an expansion in which
397
- // every token came from the source -- exactly what an unexpanded file looks
398
- // like.
403
+ // success would say the macros ran. For `explain`, the origins of an
404
+ // expansion that never happened read as an expansion in which every token
405
+ // came from the source -- exactly what an unexpanded file looks like.
399
406
  if (inspected.diagnostics.length > 0) {
400
407
  for (const diagnostic of inspected.diagnostics)
401
408
  options.io.stderr(`${renderDiagnostic(diagnostic)}\n`);
402
409
  return Object.freeze({ exitCode: 1 });
403
410
  }
411
+ // Nothing runs after this to resolve the names in what it printed, so a
412
+ // macro name left standing in the expansion is said about here or nowhere.
413
+ // It does not stop the expansion being printed: that is what the file
414
+ // expands to.
415
+ for (const warning of inspected.warnings ?? [])
416
+ options.io.stderr(`${renderDiagnostic(warning)}\n`);
404
417
  if (invocation.command === "expand") {
405
418
  options.io.stdout(expansionView(inspected.generated));
406
419
  }
407
420
  else {
408
421
  // A position past the end of the file is something a person types, not
409
- // an internal fault: it used to escape as a raw stack trace naming dist
410
- // paths.
422
+ // an internal fault, so it is reported as a mistake rather than escaping
423
+ // as a raw stack trace naming dist paths.
411
424
  let offset;
412
425
  try {
413
426
  offset = sourceOffset(inspected.sourceText, position.line, position.column);
@@ -437,9 +450,9 @@ export function runCli(options) {
437
450
  return Object.freeze({ exitCode: 0 });
438
451
  }
439
452
  if (invocation.command === "watch") {
440
- // `build: success` on its own said nothing about when it happened or
441
- // whether the run was still watching, so a rebuild was indistinguishable
442
- // from the first build scrolling past.
453
+ // `build: success` on its own says nothing about when it happened or
454
+ // whether the run is still watching, so a rebuild would be
455
+ // indistinguishable from the first build scrolling past.
443
456
  const time = () => new Date().toLocaleTimeString(undefined, { hour12: false });
444
457
  let first = true;
445
458
  const watch = watchConfiguredProject({
@@ -1 +1 @@
1
- {"version":3,"file":"command-line.js","sourceRoot":"","sources":["../../src/command-line.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-line.js","sourceRoot":"","sources":["../../src/command-line.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,13 @@
1
1
  import type * as ts from "typescript";
2
- import type { ProjectExpansionProvider } from "./project-command.js";
2
+ import { type ProjectExpansionProvider } from "./project-command.js";
3
3
  export interface StandaloneEmitResult {
4
4
  /** Absolute output path to expanded text. */
5
5
  readonly outputs: ReadonlyMap<string, string>;
6
+ /**
7
+ * Errors that stopped the expansion, and warnings about what it left
8
+ * standing. Only an error means nothing was expanded; a warning is said
9
+ * about output that was written.
10
+ */
6
11
  readonly diagnostics: readonly ts.Diagnostic[];
7
12
  }
8
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-emit.d.ts","sourceRoot":"","sources":["../../src/standalone-emit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,KAAK,EAEV,wBAAwB,EACzB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;CAChD;AAgBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACnE,GAAG,oBAAoB,CAuBvB;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACnE,GAAG,oBAAoB,CAOvB"}
1
+ {"version":3,"file":"standalone-emit.d.ts","sourceRoot":"","sources":["../../src/standalone-emit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,UAAU,EAAE,CAAC;CAChD;AAgBD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACnE,GAAG,oBAAoB,CA8BvB;AAED,yDAAyD;AACzD,wBAAgB,cAAc,CAAC,OAAO,EAAE;IACtC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACnE,GAAG,oBAAoB,CAOvB"}
@@ -2,6 +2,7 @@ import { mkdirSync, writeFileSync } from "node:fs";
2
2
  import { dirname, join, relative, resolve, sep } from "node:path";
3
3
  import { loadStandaloneProject } from "./configuration.js";
4
4
  import { createDefaultProjectExpansionProvider } from "./default-expansion-provider.js";
5
+ import { warnAboutHeldNames, } from "./project-command.js";
5
6
  /** Deepest directory containing every input, used to mirror the input tree. */
6
7
  function commonDirectory(fileNames) {
7
8
  const parts = fileNames.map((fileName) => dirname(fileName).split(sep));
@@ -42,7 +43,14 @@ export function expandStandalone(options) {
42
43
  const outputs = new Map();
43
44
  for (const file of output.files)
44
45
  outputs.set(join(outDir, relative(root, file.fileName)), file.generated.text);
45
- return Object.freeze({ outputs, diagnostics: Object.freeze([]) });
46
+ // There is no checker on this path, so what expansion holds about a name it
47
+ // left standing is all anyone will ever hear about it. See
48
+ // `warnAboutHeldNames`: it is said, as a warning, and the output is written
49
+ // either way because it is the same text either way.
50
+ return Object.freeze({
51
+ outputs,
52
+ diagnostics: warnAboutHeldNames(output.unresolvedNameExplanations ?? []),
53
+ });
46
54
  }
47
55
  /** Expand files and write the results under `outDir`. */
48
56
  export function emitStandalone(options) {
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-emit.js","sourceRoot":"","sources":["../../src/standalone-emit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standalone-emit.js","sourceRoot":"","sources":["../../src/standalone-emit.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sweetener/cli",
3
- "version": "0.1.0-alpha.2",
3
+ "version": "0.1.0-alpha.4",
4
4
  "description": "Sweetener alpha package: cli",
5
5
  "type": "module",
6
6
  "exports": {
@@ -39,7 +39,7 @@
39
39
  "SKILL.md"
40
40
  ],
41
41
  "dependencies": {
42
- "@sweetener/compiler": "0.1.0-alpha.2",
42
+ "@sweetener/compiler": "0.1.0-alpha.4",
43
43
  "typescript": "npm:@typescript/typescript6@6.0.2"
44
44
  },
45
45
  "engines": {