@katnip-org/compiler 0.1.3 → 0.1.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.
package/build/cli.js CHANGED
@@ -8,6 +8,12 @@ import { ErrorReporter } from "./utils/ErrorReporter.js";
8
8
  import { Logger } from "./utils/Logger.js";
9
9
  import yargs from 'yargs';
10
10
  import { hideBin } from 'yargs/helpers';
11
+ import { appendFileSync } from "node:fs";
12
+ import path from "node:path";
13
+ class FileLogger extends Logger {
14
+ logFilePath = path.resolve(process.cwd(), "examples", "log.txt");
15
+ write(msg) { appendFileSync(this.logFilePath, `${msg}\n`, { encoding: "utf8" }); }
16
+ }
11
17
  const cli = yargs(hideBin(process.argv));
12
18
  cli
13
19
  .scriptName('katnip')
@@ -30,7 +36,7 @@ cli
30
36
  .then((fileContent) => {
31
37
  // Create an error reporter instance
32
38
  const reporter = new ErrorReporter(fileContent, true);
33
- const logger = new Logger(true);
39
+ const logger = new FileLogger();
34
40
  if (argv.logger === true)
35
41
  logger.enable();
36
42
  else
@@ -62,7 +68,7 @@ cli
62
68
  fs.readFile(argv.source, { encoding: 'utf-8' })
63
69
  .then((fileContent) => {
64
70
  const reporter = new ErrorReporter(fileContent, true);
65
- const logger = new Logger(true);
71
+ const logger = new FileLogger();
66
72
  if (argv.logger === true)
67
73
  logger.enable();
68
74
  else
@@ -99,7 +105,7 @@ cli
99
105
  fs.readFile(argv.source, { encoding: 'utf-8' })
100
106
  .then(async (fileContent) => {
101
107
  const reporter = new ErrorReporter(fileContent, true);
102
- const logger = new Logger(true);
108
+ const logger = new FileLogger();
103
109
  if (argv.logger === true)
104
110
  logger.enable();
105
111
  else
package/build/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { type KatnipError } from "./utils/ErrorReporter.js";
2
2
  export type { KatnipError } from "./utils/ErrorReporter.js";
3
- export declare function checkSource(source: string): Promise<readonly KatnipError[]>;
3
+ export declare function checkSource(source: string): readonly KatnipError[];
package/build/index.js CHANGED
@@ -5,7 +5,7 @@ import { loadStdlibModules } from "./semantic/StdlibLoader.js";
5
5
  import { ErrorReporter } from "./utils/ErrorReporter.js";
6
6
  import { Logger } from "./utils/Logger.js";
7
7
  let stdlibCache = null;
8
- export async function checkSource(source) {
8
+ export function checkSource(source) {
9
9
  const reporter = new ErrorReporter(source);
10
10
  const logger = new Logger(); // disabled by default
11
11
  const tokens = new Lexer(reporter, logger).tokenize(source);
@@ -14,7 +14,7 @@ export async function checkSource(source) {
14
14
  return reporter.getErrors();
15
15
  const analyzer = new SemanticAnalyzer(reporter, logger);
16
16
  try {
17
- stdlibCache ??= await loadStdlibModules(logger);
17
+ stdlibCache ??= loadStdlibModules(logger);
18
18
  analyzer.loadStdlib(stdlibCache);
19
19
  }
20
20
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,aAAa,EAAoB,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,IAAI,WAAW,GAA0B,IAAI,CAAC;AAE9C,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAc;IAC5C,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC,sBAAsB;IAEnD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC;IAEtC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC;QACD,WAAW,KAAK,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IACD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAqB,MAAM,4BAA4B,CAAC;AAClF,OAAO,EAAE,aAAa,EAAoB,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,IAAI,WAAW,GAA0B,IAAI,CAAC;AAE9C,MAAM,UAAU,WAAW,CAAC,MAAc;IACtC,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC,sBAAsB;IAEnD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG;QAAE,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC;IAEtC,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC;QACD,WAAW,KAAK,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC1C,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC;IAChC,CAAC;IACD,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,QAAQ,CAAC,SAAS,EAAE,CAAC;AAChC,CAAC"}
@@ -43,6 +43,8 @@ export declare class Lexer {
43
43
  /**
44
44
  * Peeks at the next character in the source code without consuming it.
45
45
  *
46
+ * Characters are code points, not UTF-16 code units, so an emoji is one character.
47
+ *
46
48
  * @param distance The number of characters to look ahead (default is 0).
47
49
  * @returns The character at the specified distance or null if out of bounds.
48
50
  */
@@ -64,7 +64,14 @@ export class Lexer {
64
64
  if (char === null) {
65
65
  break; // End of input
66
66
  }
67
+ // Forward-progress guard
68
+ const posBefore = this.position;
69
+ const stateBefore = this.currentState;
67
70
  this.processChar(char);
71
+ if (this.position === posBefore && this.currentState === stateBefore) {
72
+ throw new Error(`Internal lexer error: no forward progress in state ${LexerState[this.currentState]} ` +
73
+ `on ${JSON.stringify(char)} at line ${this.line}, column ${this.col}`);
74
+ }
68
75
  }
69
76
  return this.tokens;
70
77
  }
@@ -97,14 +104,21 @@ export class Lexer {
97
104
  /**
98
105
  * Peeks at the next character in the source code without consuming it.
99
106
  *
107
+ * Characters are code points, not UTF-16 code units, so an emoji is one character.
108
+ *
100
109
  * @param distance The number of characters to look ahead (default is 0).
101
110
  * @returns The character at the specified distance or null if out of bounds.
102
111
  */
103
112
  peek(distance = 0) {
104
- if (this.position < this.src.length) {
105
- return this.src[this.position + distance];
113
+ let pos = this.position;
114
+ for (let i = 0; i < distance; i++) {
115
+ const skipped = this.src.codePointAt(pos);
116
+ if (skipped === undefined)
117
+ return null;
118
+ pos += String.fromCodePoint(skipped).length;
106
119
  }
107
- return null;
120
+ const code = this.src.codePointAt(pos);
121
+ return code === undefined ? null : String.fromCodePoint(code);
108
122
  }
109
123
  /**
110
124
  * Advances the lexer position by one character and updates line/column tracking.
@@ -116,7 +130,7 @@ export class Lexer {
116
130
  for (let i = 0; i < amount; i++) {
117
131
  char = this.peek();
118
132
  if (char !== null) {
119
- this.position++;
133
+ this.position += char.length; // 2 for astral characters
120
134
  if (char === '\n') {
121
135
  this.line++;
122
136
  this.col = 1;
@@ -134,7 +148,8 @@ export class Lexer {
134
148
  * @param char The character to process.
135
149
  */
136
150
  processChar(char) {
137
- this.logger.log(new KatnipLog(KatnipLogType.Debug, `Lexer state: ${LexerState[this.currentState]}, char: '${char}'`, { line: this.line, column: this.col }));
151
+ if (this.logger.enabled)
152
+ this.logger.log(new KatnipLog(KatnipLogType.Debug, `Lexer state: ${LexerState[this.currentState]}, char: '${char}'`, { line: this.line, column: this.col }));
138
153
  if (this.currentState === LexerState.Start) {
139
154
  this.processStartLike(char);
140
155
  }
@@ -187,6 +202,7 @@ export class Lexer {
187
202
  }
188
203
  else {
189
204
  this.reporter.add(new KatnipError("Lexer", `Unexpected character '${char}'`, { line: this.line, column: this.col }));
205
+ this.advance();
190
206
  }
191
207
  }
192
208
  /**
@@ -195,7 +211,8 @@ export class Lexer {
195
211
  * @param char The current character being processed.
196
212
  */
197
213
  processState(char) {
198
- this.logger.log(new KatnipLog(KatnipLogType.Debug, `Lexer state: ${LexerState[this.currentState]}, char: '${char}', buffer: '${this.buffer}'`, { line: this.line, column: this.col }));
214
+ if (this.logger.enabled)
215
+ this.logger.log(new KatnipLog(KatnipLogType.Debug, `Lexer state: ${LexerState[this.currentState]}, char: '${char}', buffer: '${this.buffer}'`, { line: this.line, column: this.col }));
199
216
  // State: Identifier
200
217
  switch (this.currentState) {
201
218
  case LexerState.Identifier:
@@ -390,7 +407,8 @@ export class Lexer {
390
407
  this.currentState = this.inInterpolatedExpression ? LexerState.InterpolatedExpression : LexerState.Start;
391
408
  break;
392
409
  case LexerState.Comment:
393
- this.logger.log(new KatnipLog(KatnipLogType.Debug, `In Comment state of type: '${this.commentType}', char: '${char}', buffer: '${this.buffer}'`, { line: this.line, column: this.col }));
410
+ if (this.logger.enabled)
411
+ this.logger.log(new KatnipLog(KatnipLogType.Debug, `In Comment state of type: '${this.commentType}', char: '${char}', buffer: '${this.buffer}'`, { line: this.line, column: this.col }));
394
412
  const commentMap = {
395
413
  "none": ["Comment_SingleExpanded", "\n"],
396
414
  "*": ["Comment_SingleCollapsed", "\n"],
@@ -435,6 +453,11 @@ export class Lexer {
435
453
  }
436
454
  }
437
455
  break;
456
+ default:
457
+ this.reporter.add(new KatnipError("Lexer", `Unexpected character '${char}'`, { line: this.line, column: this.col }));
458
+ this.advance();
459
+ this.currentState = this.inInterpolatedExpression ? LexerState.InterpolatedExpression : LexerState.Start;
460
+ break;
438
461
  }
439
462
  }
440
463
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Lexer.js","sourceRoot":"","sources":["../../src/lexer/Lexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Lexer.js","sourceRoot":"","sources":["../../src/lexer/Lexer.ts"],"names":[],"mappings":"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"}
@@ -247,7 +247,7 @@ export class Parser {
247
247
  const typeName = typeNameToken.token.value;
248
248
  if (this.tryConsume("type", ["<"])) {
249
249
  const typeParams = [];
250
- while (!this.checkToken("type", [">"])) {
250
+ while (!this.isAtEnd() && !this.checkToken("type", [">"])) {
251
251
  typeParams.push(this.parseTypeAnnotation());
252
252
  if (!this.tryConsume("type", [","]) && !this.checkToken("type", [">"])) {
253
253
  this.reporter.add(new KatnipError("Parser", "Expected ',' or '>'", this.peek()?.start ?? { line: -1, column: -1 }));
@@ -391,7 +391,7 @@ export class Parser {
391
391
  const decorators = [];
392
392
  const parameters = [];
393
393
  if (this.tryConsume("type", ["("])) {
394
- while (!this.checkToken("type", [")"])) {
394
+ while (!this.isAtEnd() && !this.checkToken("type", [")"])) {
395
395
  this.logger.log(new KatnipLog(KatnipLogType.Debug, `parsing proc param/decorator, next token: ${this.peek()?.token.type}, ${this.peek() && isValuedTokenType(this.peek().token.type) ? this.peek().token.value : "N/A"}`));
396
396
  if (this.checkToken("type", ["@"])) {
397
397
  this.advance();
@@ -502,7 +502,7 @@ export class Parser {
502
502
  const name = nameToken.token.value;
503
503
  this.consume({ type: "{" }, "Expected opening brace for enum members");
504
504
  const members = [];
505
- while (!this.checkToken("type", ["}"])) {
505
+ while (!this.isAtEnd() && !this.checkToken("type", ["}"])) {
506
506
  const memberToken = this.consume({ type: "Identifier" }, "Expected enum member name");
507
507
  members.push(memberToken.token.value);
508
508
  if (!this.tryConsume("type", [","]) && !this.checkToken("type", ["}"])) {
@@ -966,7 +966,7 @@ export class Parser {
966
966
  do {
967
967
  listContents.push(this.parseExpression());
968
968
  this.tryConsume("type", [","]);
969
- } while (!this.checkToken("type", ["]"]));
969
+ } while (!this.isAtEnd() && !this.checkToken("type", ["]"]));
970
970
  this.consume({ type: "]" }, "Expected ']' after list expression");
971
971
  return {
972
972
  type: "ListExpression",
@@ -1 +1 @@
1
- {"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/parser/Parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Parser.js","sourceRoot":"","sources":["../../src/parser/Parser.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export interface StdlibModule {
12
12
  sourcePath: string;
13
13
  }
14
14
  /**
15
- * Lexes and parses every stdlib file. Errors here are compiler bugs, not user errors: they are printed with a banner and the load aborts.
15
+ * Lexes and parses every stdlib file (embedded at build time). Errors here are compiler bugs, not user errors: they are printed with a banner and the load aborts.
16
16
  * @throws when any stdlib file fails to lex or parse.
17
17
  */
18
- export declare function loadStdlibModules(logger?: Logger): Promise<StdlibModule[]>;
18
+ export declare function loadStdlibModules(logger?: Logger): StdlibModule[];
@@ -2,39 +2,33 @@
2
2
  * @fileoverview Loads the stdlib .knip files shipped with the compiler.
3
3
  * Each file defines one namespace (motion.knip -> motion.*); prelude.knip is special-cased by the analyzer and becomes bare globals (typeof, Num, ...).
4
4
  */
5
- import * as fs from "fs/promises";
6
- import * as path from "path";
7
- import { fileURLToPath } from "url";
8
5
  import { Lexer } from "../lexer/Lexer.js";
9
6
  import { Parser } from "../parser/Parser.js";
10
7
  import { ErrorReporter } from "../utils/ErrorReporter.js";
11
8
  import { Logger } from "../utils/Logger.js";
12
- const STDLIB_DIR = fileURLToPath(new URL("../../stdlib/", import.meta.url));
9
+ import { stdlibSources } from "../stdlib.generated.js";
13
10
  /**
14
- * Lexes and parses every stdlib file. Errors here are compiler bugs, not user errors: they are printed with a banner and the load aborts.
11
+ * Lexes and parses every stdlib file (embedded at build time). Errors here are compiler bugs, not user errors: they are printed with a banner and the load aborts.
15
12
  * @throws when any stdlib file fails to lex or parse.
16
13
  */
17
- export async function loadStdlibModules(logger = new Logger()) {
18
- const entries = (await fs.readdir(STDLIB_DIR)).filter((f) => f.endsWith(".knip"));
14
+ export function loadStdlibModules(logger = new Logger()) {
19
15
  // The prelude declares bare globals; load first
20
- entries.sort((a, b) => a === "prelude.knip" ? -1 : b === "prelude.knip" ? 1 : a.localeCompare(b));
16
+ const entries = [...stdlibSources].sort((a, b) => a.name === "prelude.knip" ? -1 : b.name === "prelude.knip" ? 1 : a.name.localeCompare(b.name));
21
17
  const modules = [];
22
- for (const entry of entries) {
23
- const sourcePath = path.join(STDLIB_DIR, entry);
24
- const content = await fs.readFile(sourcePath, { encoding: "utf-8" });
18
+ for (const { name, content } of entries) {
25
19
  const reporter = new ErrorReporter(content, true);
26
20
  const tokens = new Lexer(reporter, logger).tokenize(content);
27
21
  const ast = reporter.hasErrors() ? null : new Parser(reporter, logger).parse(tokens);
28
22
  if (reporter.hasErrors() || !ast) {
29
- console.error(`Internal compiler error in stdlib file '${sourcePath}' (this is a Katnip bug):`);
23
+ console.error(`Internal compiler error in stdlib file '${name}' (this is a Katnip bug):`);
30
24
  reporter.print();
31
- throw new Error(`stdlib file '${entry}' failed to load`);
25
+ throw new Error(`stdlib file '${name}' failed to load`);
32
26
  }
33
27
  modules.push({
34
- namespace: path.basename(entry, ".knip"),
28
+ namespace: name.replace(/\.knip$/, ""),
35
29
  ast,
36
30
  reporter,
37
- sourcePath,
31
+ sourcePath: name,
38
32
  });
39
33
  }
40
34
  return modules;
@@ -1 +1 @@
1
- {"version":3,"file":"StdlibLoader.js","sourceRoot":"","sources":["../../src/semantic/StdlibLoader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAU5C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE5E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB,IAAI,MAAM,EAAE;IACjE,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAClF,gDAAgD;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAClB,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAC5E,CAAC;IAEF,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErF,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CACT,2CAA2C,UAAU,2BAA2B,CACnF,CAAC;YACF,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,kBAAkB,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACT,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;YACxC,GAAG;YACH,QAAQ;YACR,UAAU;SACb,CAAC,CAAC;IACP,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"StdlibLoader.js","sourceRoot":"","sources":["../../src/semantic/StdlibLoader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAUvD;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB,IAAI,MAAM,EAAE;IAC3D,gDAAgD;IAChD,MAAM,OAAO,GAAG,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC7C,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAChG,CAAC;IAEF,MAAM,OAAO,GAAmB,EAAE,CAAC;IACnC,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAErF,IAAI,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CACT,2CAA2C,IAAI,2BAA2B,CAC7E,CAAC;YACF,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,kBAAkB,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,CAAC,IAAI,CAAC;YACT,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YACtC,GAAG;YACH,QAAQ;YACR,UAAU,EAAE,IAAI;SACnB,CAAC,CAAC;IACP,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const stdlibSources: {
2
+ name: string;
3
+ content: string;
4
+ }[];
@@ -0,0 +1,52 @@
1
+ // AUTO-GEN'D by scripts/gen-stdlib.mjs; do not edit.
2
+ export const stdlibSources = [
3
+ {
4
+ "name": "clone.knip",
5
+ "content": "#> clone.knip ~ clone lifecycle blocks. <#\n\nproc onStart(@opcode = \"control_start_as_clone\", @hat) -> void {}\nproc create(@opcode = \"control_create_clone_of\", target: str) -> void {}\nproc delete(@opcode = \"control_delete_this_clone\") -> void {}\n"
6
+ },
7
+ {
8
+ "name": "console.knip",
9
+ "content": "#> console.knip ~ debug/interaction helpers. <#\n\nproc log(@opcode = \"katnip_console_log\", msg: str) -> void {}\nproc input(@opcode = \"sensing_askandwait\", prompt: str) -> str {}\nproc warn(@opcode = \"katnip_console_warn\", msg: str) -> void {}\nproc error(@opcode = \"katnip_console_error\", msg: str) -> void {}"
10
+ },
11
+ {
12
+ "name": "control.knip",
13
+ "content": "#> control.knip ~ control-flow hat blocks. <#\n\nproc onclone(@opcode = \"control_start_as_clone\", @hat) -> void {}\n"
14
+ },
15
+ {
16
+ "name": "dict.knip",
17
+ "content": "#> dict.knip ~ methods on dict values (first param `self` marks a method). <#\n\nproc contains(@opcode = \"katnip_dict_contains\", self: dict<K, V>, key: K) -> bool {}\nproc length(@opcode = \"katnip_dict_length\", self: dict<K, V>) -> num {}\nproc keys(@opcode = \"katnip_dict_keys\", self: dict<K, V>) -> list<K> {}\nproc values(@opcode = \"katnip_dict_values\", self: dict<K, V>) -> list<V> {}\nproc merge(@opcode = \"katnip_dict_merg\", self: dict<K, V>, addition: dict<K, V>) -> void {}\n"
18
+ },
19
+ {
20
+ "name": "events.knip",
21
+ "content": "#> events.knip ~ event hat blocks. <#\n\nproc onflag(@opcode = \"event_whenflagclicked\", @hat) -> void {}\n"
22
+ },
23
+ {
24
+ "name": "list.knip",
25
+ "content": "#> list.knip ~ methods on list values (first param `self` marks a method). <#\n\nproc add(@opcode = \"data_addtolist\", self: list<T>, item: T) -> void {}\nproc contains(@opcode = \"data_listcontainsitem\", self: list<T>, item: T) -> bool {}\nproc length(@opcode = \"data_lengthoflist\", self: list<T>) -> num {}\nproc remove(@opcode = \"data_deleteoflist\", self: list<T>, idx: num) -> T {}\nproc clear(@opcode = \"data_deletealloflist\", self: list<T>) -> void {}\nproc indexOf(@opcode = \"data_itemnumoflist\", self: list<T>, item: T) -> num {}\n\nproc merge(@opcode = \"katnip_list_merge\", self: list<T>, addition: list<T>) -> void {}"
26
+ },
27
+ {
28
+ "name": "looks.knip",
29
+ "content": "#> looks.knip ~ sprite appearance blocks. <#\n\nproc say(@opcode = \"looks_say\", msg: str) -> void {}\nproc say(@opcode = \"looks_sayforsecs\", msg: str, seconds: num) -> void {}\n"
30
+ },
31
+ {
32
+ "name": "math.knip",
33
+ "content": "#> math.knip ~ math operations + math constants. <#\n\nproc pow(@opcode = \"operator_mathop\", base: num, exponent: num) -> num {}\n\npublic pi: num = 3.141592653589793;\npublic e: num = 2.718281828459045;\npublic tau: num = 6.283185307179586;"
34
+ },
35
+ {
36
+ "name": "motion.knip",
37
+ "content": "#> motion.knip ~ sprite motion blocks. <#\n\npublic enum Target { RANDOM, MOUSE }\npublic enum RotationStyle { LEFT, RIGHT }\n\nproc move(@opcode = \"motion_movesteps\", steps: num) -> void {}\nproc turn(@opcode = \"motion_turnright\", degrees: num) -> void {}\n\nproc goTo(@opcode = \"motion_goto\", position: Target | str) -> void {}\nproc goTo(@opcode = \"motion_gotoxy\", x: num, y: num) -> void {}\nproc glideTo(@opcode = \"motion_glideto\", time: num, position: Target | str) -> void {}\nproc glideTo(@opcode = \"motion_glidetoxy\", time: num, x: num, y: num) -> void {}\n\nproc point(@opcode = \"motion_pointindirection\", degrees: num) -> void {}\nproc point(@opcode = \"motion_pointtowards\", target: Target) -> void {}\n\nproc changeX(@opcode = \"motion_changexby\", dX: num) -> void {}\nproc setX(@opcode = \"motion_setx\", x: num) -> void {}\nproc changeY(@opcode = \"motion_changeyby\", dY: num) -> void {}\nproc setY(@opcode = \"motion_sety\", y: num) -> void {}\n\nproc ifOnEdgeBounce(@opcode = \"motion_ifonedgebounce\") -> void {}\nproc setRotationStyle(@opcode = \"motion_setrotationstyle\", style: RotationStyle) -> void {}\n\nproc getPosition(@opcode = \"katnip_motion_position\") -> (num, num) {}\n"
38
+ },
39
+ {
40
+ "name": "pen.knip",
41
+ "content": "#> pen.knip ~ pen extension blocks. <#\n\npublic enum ColorParam { COLOR, SATURATION, BRIGHTNESS, TRANSPARENCY }\n\nproc down(@opcode = \"pen_penDown\") -> void {}\nproc up(@opcode = \"pen_penUp\") -> void {}\nproc clear(@opcode = \"pen_clear\") -> void {}\nproc setHex(@opcode = \"pen_setPenColorToColor\", hex: str) -> void {}\n\nproc setAttr(@opcode = \"pen_setPenColorParamTo\", attr: ColorParam, value: num) -> void {}\nproc changeAttr(@opcode = \"pen_changePenColorParamBy\", attr: ColorParam, dA: num) -> void {}\n\nproc setSize(@opcode = \"pen_setPenSizeTo\", size: num) -> void {}\nproc changeSize(@opcode = \"pen_changePenSizeBy\", dS: num) -> void {}"
42
+ },
43
+ {
44
+ "name": "prelude.knip",
45
+ "content": "#> prelude.knip ~ bare global builtins, available without a namespace. <#\n\nproc typeof(@opcode = \"katnip_typeof\", value: any) -> str {} # TODO: use the katnip one\n\n# casts\nproc Num(@opcode = \"katnip_cast_num\", value: any) -> num {}\nproc Str(@opcode = \"katnip_cast_str\", value: any) -> str {}\nproc Bool(@opcode = \"katnip_cast_bool\", value: any) -> bool {}\nproc List(@opcode = \"katnip_cast_list\", value: any) -> list<str> {}\n\nproc wait(@opcode = \"control_wait\", seconds: num) -> void {}\n\n# iter helpers\nproc range(@opcode = \"katnip_range\", stop: num) -> list<num> {}\nproc range(@opcode = \"katnip_range\", start: num, stop: num, step: num = 1) -> list<num> {}\n\nproc zip(@opcode = \"katnip_zip\", l1: list<T>, l2: list<U>) -> (list<T>, list<U>) {}\nproc enumerate(@opcode = \"katnip_enumerate\", items: list<T>) -> (list<num>, list<T>) {}\n\n# constants\npublic true: bool = \"true\" == \"true\";\npublic false: bool = \"false\" == \"\";\n\n# misc\nproc len(@opcode = \"operator_length\", input: str) -> num {}"
46
+ },
47
+ {
48
+ "name": "str.knip",
49
+ "content": "#> str.knip ~ methods on string values (first param `self` marks a method). <#\n\nproc contains(@opcode = \"operator_contains\", self: str, substring: str) -> bool {}"
50
+ }
51
+ ];
52
+ //# sourceMappingURL=stdlib.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdlib.generated.js","sourceRoot":"","sources":["../src/stdlib.generated.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,MAAM,CAAC,MAAM,aAAa,GAC1B;IACI;QACI,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,kQAAkQ;KAChR;IACD;QACI,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,iUAAiU;KAC/U;IACD;QACI,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,wHAAwH;KACtI;IACD;QACI,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,+eAA+e;KAC7f;IACD;QACI,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,8GAA8G;KAC5H;IACD;QACI,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,ioBAAioB;KAC/oB;IACD;QACI,MAAM,EAAE,YAAY;QACpB,SAAS,EAAE,uLAAuL;KACrM;IACD;QACI,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,qPAAqP;KACnQ;IACD;QACI,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,qsCAAqsC;KACntC;IACD;QACI,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,upBAAupB;KACrqB;IACD;QACI,MAAM,EAAE,cAAc;QACtB,SAAS,EAAE,+gCAA+gC;KAC7hC;IACD;QACI,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,wKAAwK;KACtL;CACJ,CAAC"}
@@ -10,9 +10,11 @@ export class KatnipError {
10
10
  this.source = source;
11
11
  this.message = message;
12
12
  this.location = location;
13
- if (captureStack) {
13
+ // captureStackTrace is V8-only (Node/Chromium); cast avoids erors in other runtimes
14
+ const captureStackTrace = Error.captureStackTrace;
15
+ if (captureStack && captureStackTrace) {
14
16
  const err = {};
15
- Error.captureStackTrace(err, KatnipError);
17
+ captureStackTrace(err, KatnipError);
16
18
  this.stackTrace = err.stack;
17
19
  }
18
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ErrorReporter.js","sourceRoot":"","sources":["../../src/utils/ErrorReporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ErrorReporter.js","sourceRoot":"","sources":["../../src/utils/ErrorReporter.ts"],"names":[],"mappings":"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"}
@@ -18,14 +18,12 @@ export declare class KatnipLog {
18
18
  } | undefined, timestamp?: Date);
19
19
  }
20
20
  export declare class Logger {
21
- private writeToFile;
22
21
  enabled: boolean;
23
22
  logs: KatnipLog[];
24
- private logFilePath;
25
23
  private formatters;
26
- constructor(writeToFile?: boolean);
27
24
  private sanitizeForLog;
28
25
  print(log: KatnipLog): void;
26
+ protected write(_msg: string): void;
29
27
  log(log: KatnipLog): void;
30
28
  enable(): void;
31
29
  disable(): void;
@@ -1,5 +1,3 @@
1
- import fs from "node:fs";
2
- import path from "node:path";
3
1
  import { pc } from "./colors.js";
4
2
  export var KatnipLogType;
5
3
  (function (KatnipLogType) {
@@ -21,20 +19,14 @@ export class KatnipLog {
21
19
  }
22
20
  }
23
21
  export class Logger {
24
- writeToFile;
25
22
  enabled = false;
26
23
  logs = [];
27
- logFilePath;
28
24
  formatters = {
29
25
  [KatnipLogType.Info]: (msg) => pc.cyan(msg),
30
26
  [KatnipLogType.Warn]: (msg) => pc.yellow(msg),
31
27
  [KatnipLogType.Error]: (msg) => pc.red(msg),
32
28
  [KatnipLogType.Debug]: (msg) => pc.gray(msg)
33
29
  };
34
- constructor(writeToFile = false) {
35
- this.writeToFile = writeToFile;
36
- this.logFilePath = path.resolve(process.cwd(), "examples", "log.txt");
37
- }
38
30
  sanitizeForLog(value) {
39
31
  if (typeof value === "string") {
40
32
  return JSON.stringify(value); // \n and \r etc are escaped
@@ -46,12 +38,13 @@ export class Logger {
46
38
  const baseMessage = `${log.timestamp} - [${log.type}] ${this.sanitizeForLog(log.message)}` +
47
39
  (log.location ? ` at line ${log.location.line}, column ${log.location.column}` : "");
48
40
  console.log(this.formatters[log.type](baseMessage));
49
- if (this.writeToFile) {
50
- fs.appendFileSync(this.logFilePath, `${baseMessage}\n`, { encoding: "utf8" });
51
- }
41
+ this.write(baseMessage);
52
42
  }
53
43
  }
44
+ write(_msg) { }
54
45
  log(log) {
46
+ if (!this.enabled)
47
+ return;
55
48
  this.logs.push(log);
56
49
  this.print(log);
57
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/utils/Logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/utils/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAN,IAAY,aAKX;AALD,WAAY,aAAa;IACrB,8BAAa,CAAA;IACb,8BAAa,CAAA;IACb,gCAAe,CAAA;IACf,gCAAe,CAAA;AACnB,CAAC,EALW,aAAa,KAAb,aAAa,QAKxB;AAED,MAAM,OAAO,SAAS;IAEP;IACA;IACA;IACA;IAJX,YACW,IAAmB,EACnB,OAAe,EACf,QAA2C,EAC3C,YAAkB,IAAI,IAAI,EAAE;QAH5B,SAAI,GAAJ,IAAI,CAAe;QACnB,YAAO,GAAP,OAAO,CAAQ;QACf,aAAQ,GAAR,QAAQ,CAAmC;QAC3C,cAAS,GAAT,SAAS,CAAmB;IACpC,CAAC;CACP;AAED,MAAM,OAAO,MAAM;IACf,OAAO,GAAY,KAAK,CAAC;IACzB,IAAI,GAAgB,EAAE,CAAC;IAEf,UAAU,GAAmD;QACjE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3C,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;QAC7C,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3C,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC;KAC/C,CAAC;IAEM,cAAc,CAAC,KAAU;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B;QAC9D,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAc;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,WAAW,GACb,GAAG,GAAG,CAAC,SAAS,OAAO,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACtE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,QAAQ,CAAC,IAAI,YAAY,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACzF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IAES,KAAK,CAAC,IAAY,IAAS,CAAC;IAEtC,GAAG,CAAC,GAAc;QACd,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC;IACjC,OAAO,KAAK,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;CACtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/utils/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC;AAChC,MAAM,QAAQ,GAAG,IAAI,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE7E,MAAM,IAAI,GACN,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAChC,CAAC,CAAS,EAAU,EAAE,CAClB,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,EAAE,GAAG;IACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"colors.js","sourceRoot":"","sources":["../../src/utils/colors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,IAAI,GAAI,UAAuG,CAAC,OAAO,CAAC;AAC9H,MAAM,QAAQ,GAAG,IAAI,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI,IAAI,IAAI,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE7E,MAAM,IAAI,GACN,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE,CAChC,CAAC,CAAS,EAAU,EAAE,CAClB,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzD,MAAM,CAAC,MAAM,EAAE,GAAG;IACd,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACjB,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;CACpB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@katnip-org/compiler",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "Compiler and type-checker for the Katnip language (.knip), targeting Scratch SB3.",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Benjamin Clark",
@@ -52,6 +52,7 @@
52
52
  "typescript": "^5.8.3"
53
53
  },
54
54
  "scripts": {
55
+ "prebuild": "node scripts/gen-stdlib.mjs",
55
56
  "build": "tsc",
56
57
  "prepublishOnly": "npm run build"
57
58
  }