firefly-compiler 0.5.77 → 0.5.79
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/bin/firefly.mjs +1 -1
- package/compiler/Builder.ff +1 -1
- package/compiler/Compiler.ff +7 -3
- package/compiler/JsEmitter.ff +1573 -623
- package/compiler/Main.ff +7 -2
- package/compiler/SourceMap.ff +149 -0
- package/core/Buffer.ff +2 -1
- package/core/BuildSystem.ff +3 -1
- package/core/Core.ff +4 -4
- package/core/Error.ff +7 -1
- package/core/Js.ff +17 -0
- package/firefly.sh +1 -1
- package/fireflysite/Html.ff +15 -2
- package/fireflysite/Main.ff +2 -1
- package/output/js/ff/compiler/Builder.mjs +5 -46
- package/output/js/ff/compiler/Builder.mjs.map +181 -0
- package/output/js/ff/compiler/Compiler.mjs +23 -16
- package/output/js/ff/compiler/Compiler.mjs.map +155 -0
- package/output/js/ff/compiler/Dependencies.mjs +12 -14
- package/output/js/ff/compiler/Dependencies.mjs.map +128 -0
- package/output/js/ff/compiler/DependencyLock.mjs +1 -4
- package/output/js/ff/compiler/DependencyLock.mjs.map +22 -0
- package/output/js/ff/compiler/Deriver.mjs +10 -11
- package/output/js/ff/compiler/Deriver.mjs.map +204 -0
- package/output/js/ff/compiler/Dictionaries.mjs +12 -13
- package/output/js/ff/compiler/Dictionaries.mjs.map +183 -0
- package/output/js/ff/compiler/Environment.mjs +24 -27
- package/output/js/ff/compiler/Environment.mjs.map +141 -0
- package/output/js/ff/compiler/Inference.mjs +85 -94
- package/output/js/ff/compiler/Inference.mjs.map +355 -0
- package/output/js/ff/compiler/JsEmitter.mjs +3730 -1682
- package/output/js/ff/compiler/JsEmitter.mjs.map +423 -0
- package/output/js/ff/compiler/JsImporter.mjs +9 -12
- package/output/js/ff/compiler/JsImporter.mjs.map +52 -0
- package/output/js/ff/compiler/LspHook.mjs +17 -18
- package/output/js/ff/compiler/LspHook.mjs.map +140 -0
- package/output/js/ff/compiler/Main.mjs +69 -69
- package/output/js/ff/compiler/Main.mjs.map +231 -0
- package/output/js/ff/compiler/ModuleCache.mjs +1 -4
- package/output/js/ff/compiler/ModuleCache.mjs.map +82 -0
- package/output/js/ff/compiler/Parser.mjs +58 -61
- package/output/js/ff/compiler/Parser.mjs.map +406 -0
- package/output/js/ff/compiler/Patterns.mjs +19 -22
- package/output/js/ff/compiler/Patterns.mjs.map +119 -0
- package/output/js/ff/compiler/Resolver.mjs +42 -41
- package/output/js/ff/compiler/Resolver.mjs.map +294 -0
- package/output/js/ff/compiler/SourceMap.mjs +402 -0
- package/output/js/ff/compiler/SourceMap.mjs.map +83 -0
- package/output/js/ff/compiler/Substitution.mjs +1 -4
- package/output/js/ff/compiler/Substitution.mjs.map +138 -0
- package/output/js/ff/compiler/Syntax.mjs +252 -251
- package/output/js/ff/compiler/Syntax.mjs.map +351 -0
- package/output/js/ff/compiler/Token.mjs +17 -22
- package/output/js/ff/compiler/Token.mjs.map +113 -0
- package/output/js/ff/compiler/Tokenizer.mjs +5 -12
- package/output/js/ff/compiler/Tokenizer.mjs.map +101 -0
- package/output/js/ff/compiler/Unification.mjs +32 -33
- package/output/js/ff/compiler/Unification.mjs.map +135 -0
- package/output/js/ff/compiler/Wildcards.mjs +1 -4
- package/output/js/ff/compiler/Wildcards.mjs.map +69 -0
- package/output/js/ff/compiler/Workspace.mjs +17 -16
- package/output/js/ff/compiler/Workspace.mjs.map +96 -0
- package/output/js/ff/core/Any.mjs +1 -4
- package/output/js/ff/core/Any.mjs.map +21 -0
- package/output/js/ff/core/Array.mjs +14 -15
- package/output/js/ff/core/Array.mjs.map +90 -0
- package/output/js/ff/core/AssetSystem.mjs +1 -4
- package/output/js/ff/core/AssetSystem.mjs.map +56 -0
- package/output/js/ff/core/Atomic.mjs +1 -4
- package/output/js/ff/core/Atomic.mjs.map +24 -0
- package/output/js/ff/core/Bool.mjs +4 -9
- package/output/js/ff/core/Bool.mjs.map +19 -0
- package/output/js/ff/core/BrowserSystem.mjs +1 -8
- package/output/js/ff/core/BrowserSystem.mjs.map +47 -0
- package/output/js/ff/core/Buffer.mjs +18 -17
- package/output/js/ff/core/Buffer.mjs.map +123 -0
- package/output/js/ff/core/BuildSystem.mjs +7 -10
- package/output/js/ff/core/BuildSystem.mjs.map +87 -0
- package/output/js/ff/core/Channel.mjs +1 -4
- package/output/js/ff/core/Channel.mjs.map +67 -0
- package/output/js/ff/core/Char.mjs +1 -8
- package/output/js/ff/core/Char.mjs.map +21 -0
- package/output/js/ff/core/Core.mjs +9 -16
- package/output/js/ff/core/Core.mjs.map +38 -0
- package/output/js/ff/core/Crypto.mjs +1 -4
- package/output/js/ff/core/Crypto.mjs.map +65 -0
- package/output/js/ff/core/Date.mjs +8 -7
- package/output/js/ff/core/Date.mjs.map +168 -0
- package/output/js/ff/core/Duration.mjs +4 -9
- package/output/js/ff/core/Duration.mjs.map +18 -0
- package/output/js/ff/core/Equal.mjs +9 -14
- package/output/js/ff/core/Equal.mjs.map +22 -0
- package/output/js/ff/core/Error.mjs +33 -10
- package/output/js/ff/core/Error.mjs.map +34 -0
- package/output/js/ff/core/FileHandle.mjs +1 -8
- package/output/js/ff/core/FileHandle.mjs.map +32 -0
- package/output/js/ff/core/Float.mjs +4 -5
- package/output/js/ff/core/Float.mjs.map +93 -0
- package/output/js/ff/core/HttpClient.mjs +1 -4
- package/output/js/ff/core/HttpClient.mjs.map +62 -0
- package/output/js/ff/core/Int.mjs +4 -9
- package/output/js/ff/core/Int.mjs.map +49 -0
- package/output/js/ff/core/IntMap.mjs +3 -6
- package/output/js/ff/core/IntMap.mjs.map +52 -0
- package/output/js/ff/core/Js.mjs +29 -8
- package/output/js/ff/core/Js.mjs.map +125 -0
- package/output/js/ff/core/JsSystem.mjs +1 -8
- package/output/js/ff/core/JsSystem.mjs.map +59 -0
- package/output/js/ff/core/JsValue.mjs +23 -42
- package/output/js/ff/core/JsValue.mjs.map +155 -0
- package/output/js/ff/core/Json.mjs +25 -26
- package/output/js/ff/core/Json.mjs.map +134 -0
- package/output/js/ff/core/List.mjs +11 -12
- package/output/js/ff/core/List.mjs.map +123 -0
- package/output/js/ff/core/Lock.mjs +7 -14
- package/output/js/ff/core/Lock.mjs.map +52 -0
- package/output/js/ff/core/Log.mjs +1 -8
- package/output/js/ff/core/Log.mjs.map +26 -0
- package/output/js/ff/core/Map.mjs +6 -7
- package/output/js/ff/core/Map.mjs.map +67 -0
- package/output/js/ff/core/NodeSystem.mjs +11 -14
- package/output/js/ff/core/NodeSystem.mjs.map +137 -0
- package/output/js/ff/core/Nothing.mjs +1 -10
- package/output/js/ff/core/Nothing.mjs.map +11 -0
- package/output/js/ff/core/Option.mjs +10 -15
- package/output/js/ff/core/Option.mjs.map +67 -0
- package/output/js/ff/core/Ordering.mjs +12 -13
- package/output/js/ff/core/Ordering.mjs.map +48 -0
- package/output/js/ff/core/Pair.mjs +8 -13
- package/output/js/ff/core/Pair.mjs.map +48 -0
- package/output/js/ff/core/Path.mjs +5 -14
- package/output/js/ff/core/Path.mjs.map +178 -0
- package/output/js/ff/core/Queue.mjs +1 -4
- package/output/js/ff/core/Queue.mjs.map +45 -0
- package/output/js/ff/core/Random.mjs +1 -4
- package/output/js/ff/core/Random.mjs.map +79 -0
- package/output/js/ff/core/RbMap.mjs +1 -16
- package/output/js/ff/core/RbMap.mjs.map +92 -0
- package/output/js/ff/core/Serializable.mjs +17 -22
- package/output/js/ff/core/Serializable.mjs.map +73 -0
- package/output/js/ff/core/Set.mjs +6 -7
- package/output/js/ff/core/Set.mjs.map +45 -0
- package/output/js/ff/core/Show.mjs +11 -20
- package/output/js/ff/core/Show.mjs.map +29 -0
- package/output/js/ff/core/SourceLocation.mjs +7 -8
- package/output/js/ff/core/SourceLocation.mjs.map +41 -0
- package/output/js/ff/core/Stream.mjs +1 -4
- package/output/js/ff/core/Stream.mjs.map +92 -0
- package/output/js/ff/core/String.mjs +14 -19
- package/output/js/ff/core/String.mjs.map +106 -0
- package/output/js/ff/core/StringMap.mjs +3 -6
- package/output/js/ff/core/StringMap.mjs.map +52 -0
- package/output/js/ff/core/Task.mjs +1 -8
- package/output/js/ff/core/Task.mjs.map +79 -0
- package/output/js/ff/core/Try.mjs +3 -6
- package/output/js/ff/core/Try.mjs.map +41 -0
- package/output/js/ff/core/Unit.mjs +5 -12
- package/output/js/ff/core/Unit.mjs.map +18 -0
- package/package.json +1 -2
- package/vscode/package.json +1 -1
- package/webserver/WebServer.ff +1 -1
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as import$0 from 'url';
|
|
2
|
-
|
|
3
1
|
import * as ff_compiler_Main from "../../ff/compiler/Main.mjs"
|
|
4
2
|
|
|
5
3
|
import * as ff_compiler_Builder from "../../ff/compiler/Builder.mjs"
|
|
@@ -120,6 +118,7 @@ import * as ff_core_Task from "../../ff/core/Task.mjs"
|
|
|
120
118
|
|
|
121
119
|
import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
122
120
|
|
|
121
|
+
import * as import$0 from 'url';
|
|
123
122
|
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
124
123
|
|
|
125
124
|
// type MainCommand
|
|
@@ -148,17 +147,7 @@ export function CommandLineError(problem_) {
|
|
|
148
147
|
return {problem_};
|
|
149
148
|
}
|
|
150
149
|
|
|
151
|
-
export const usageString_ =
|
|
152
|
-
usage: firefly <main-file> [<main-arguments>] | <command> [<command-arguments>]
|
|
153
|
-
|
|
154
|
-
These are the commands:
|
|
155
|
-
run <main-file> [<main-arguments>] Run the main file with the provided arguments
|
|
156
|
-
browser <main-file> Compile the main file for the browser
|
|
157
|
-
build <main-file> Build the main file
|
|
158
|
-
check <firefly-file> Check the firefly source file for errors
|
|
159
|
-
symbols <firefly-file> Print a .tsv with the symbols of a firefly source file
|
|
160
|
-
bootstrap Bootstrap the compiler
|
|
161
|
-
`;
|
|
150
|
+
export const usageString_ = "\r\nusage: firefly <main-file> [<main-arguments>] | <command> [<command-arguments>]\r\n\r\nThese are the commands:\r\n run <main-file> [<main-arguments>] Run the main file with the provided arguments\r\n browser <main-file> Compile the main file for the browser\r\n build <main-file> Build the main file\r\n check <firefly-file> Check the firefly source file for errors\r\n symbols <out-file> <firefly-file> Print a .tsv with the symbols of a firefly source file\r\n bootstrap Bootstrap the compiler\r\n";
|
|
162
151
|
|
|
163
152
|
export function main_(system_) {
|
|
164
153
|
const fireflyPath_ = ff_compiler_Main.detectFireflyPath_(system_);
|
|
@@ -202,7 +191,7 @@ const mainPath_ = ff_core_NodeSystem.NodeSystem_path(system_, mainFile_);
|
|
|
202
191
|
const moduleKey_ = buildScript_(mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitNode(), resolvedDependencies_);
|
|
203
192
|
if((!ff_compiler_Main.importAndRun_(system_, fireflyPath_, "node", moduleKey_, arguments_))) {
|
|
204
193
|
const at_ = ff_compiler_Syntax.Location(ff_core_Path.Path_absolute(ff_core_NodeSystem.NodeSystem_path(system_, mainFile_)), 1, 1);
|
|
205
|
-
|
|
194
|
+
throw ff_core_Js.initializeError_(ff_compiler_Syntax.CompileError(at_, "This module does not contain a 'nodeMain' function"), new Error(), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
206
195
|
}
|
|
207
196
|
return
|
|
208
197
|
}
|
|
@@ -230,7 +219,7 @@ if(command_a.CheckCommand) {
|
|
|
230
219
|
const filePath_ = command_a.filePath_;
|
|
231
220
|
const errors_ = ff_compiler_Builder.check_(system_, fireflyPath_, ff_core_NodeSystem.NodeSystem_path(system_, filePath_), ff_core_Option.None(), ff_core_Set.new_(), ff_core_Map.new_(), ff_compiler_ModuleCache.new_(1), ff_compiler_DependencyLock.new_(ff_core_NodeSystem.NodeSystem_mainTask(system_)), 0, ff_compiler_LspHook.disabled_(), true);
|
|
232
221
|
if((!ff_core_List.List_isEmpty(errors_))) {
|
|
233
|
-
|
|
222
|
+
throw ff_core_Js.initializeError_(ff_compiler_Syntax.CompileErrors(ff_core_List.List_distinct(errors_, ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_CompileError)), new Error(), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileErrors, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileErrors)
|
|
234
223
|
}
|
|
235
224
|
return
|
|
236
225
|
}
|
|
@@ -331,7 +320,7 @@ return ff_compiler_Main.RunCommand(mainFile_, mainArguments_)
|
|
|
331
320
|
}
|
|
332
321
|
}
|
|
333
322
|
{
|
|
334
|
-
|
|
323
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) as first argument to run." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
335
324
|
}
|
|
336
325
|
}
|
|
337
326
|
return
|
|
@@ -349,10 +338,10 @@ return ff_compiler_Main.BrowserCommand(mainFile_)
|
|
|
349
338
|
}
|
|
350
339
|
}
|
|
351
340
|
if(_1.length >= 2) {
|
|
352
|
-
|
|
341
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must only specify a single argument to browser." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
353
342
|
}
|
|
354
343
|
{
|
|
355
|
-
|
|
344
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) as the argument to browser." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
356
345
|
}
|
|
357
346
|
}
|
|
358
347
|
return
|
|
@@ -370,10 +359,10 @@ return ff_compiler_Main.BuildCommand(mainFile_)
|
|
|
370
359
|
}
|
|
371
360
|
}
|
|
372
361
|
if(_1.length >= 2) {
|
|
373
|
-
|
|
362
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must only specify a single argument to build." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
374
363
|
}
|
|
375
364
|
{
|
|
376
|
-
|
|
365
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) as the argument to build." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
377
366
|
}
|
|
378
367
|
}
|
|
379
368
|
return
|
|
@@ -387,10 +376,10 @@ const fileName_ = _1[0];
|
|
|
387
376
|
return ff_compiler_Main.CheckCommand(fileName_)
|
|
388
377
|
}
|
|
389
378
|
if(_1.length >= 2) {
|
|
390
|
-
|
|
379
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must only specify a single argument to check." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
391
380
|
}
|
|
392
381
|
{
|
|
393
|
-
|
|
382
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) or directory as the argument to check." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
394
383
|
}
|
|
395
384
|
}
|
|
396
385
|
return
|
|
@@ -408,23 +397,23 @@ return ff_compiler_Main.SymbolsCommand(outName_, [fileName_, ...fileNames_])
|
|
|
408
397
|
}
|
|
409
398
|
}
|
|
410
399
|
{
|
|
411
|
-
|
|
400
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a output file (.tsv) and 1+ Firefly files (.ff) to symbols." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
412
401
|
}
|
|
413
402
|
}
|
|
414
403
|
return
|
|
415
404
|
}
|
|
416
405
|
if(arguments_a.length === 2 && arguments_a[0] === "bootstrap") {
|
|
417
|
-
|
|
406
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("bootstrap takes no arguments" + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
418
407
|
}
|
|
419
408
|
if(arguments_a.length === 1 && arguments_a[0] === "bootstrap") {
|
|
420
409
|
return ff_compiler_Main.BootstrapCommand()
|
|
421
410
|
}
|
|
422
411
|
if(arguments_a.length === 0) {
|
|
423
|
-
|
|
412
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a command or a main file to run." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
424
413
|
}
|
|
425
414
|
{
|
|
426
415
|
const s_ = arguments_a[0];
|
|
427
|
-
|
|
416
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(((("Unknown command '" + s_) + "'") + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
428
417
|
}
|
|
429
418
|
}
|
|
430
419
|
|
|
@@ -455,7 +444,12 @@ const runFilePath_ = (ff_core_String.String_contains(runFile_, "://")
|
|
|
455
444
|
: ff_core_NodeSystem.NodeSystem_path(system_, runFile_));
|
|
456
445
|
if(ff_core_Path.Path_exists(runFilePath_, false, false, false)) {
|
|
457
446
|
const main_ = import(runFile_);
|
|
458
|
-
|
|
447
|
+
try {
|
|
448
|
+
main_["$run$"](fireflyPath_.absolutePath_, arguments_)
|
|
449
|
+
} catch(error_) {
|
|
450
|
+
console.error(ff_core_Error.Error_stack(error_));
|
|
451
|
+
process.exit(1)
|
|
452
|
+
};
|
|
459
453
|
return true
|
|
460
454
|
} else {
|
|
461
455
|
return false
|
|
@@ -500,8 +494,8 @@ return (_w1 + ": ")
|
|
|
500
494
|
return ""
|
|
501
495
|
}));
|
|
502
496
|
return {
|
|
503
|
-
generics_: generics_,
|
|
504
|
-
name_: (g_ + x_.name_),
|
|
497
|
+
generics_: generics_,
|
|
498
|
+
name_: (g_ + x_.name_),
|
|
505
499
|
symbols_: ff_core_List.List_map(x_.methods_, ((_w1) => {
|
|
506
500
|
return processSignature_(_w1)
|
|
507
501
|
}))
|
|
@@ -535,8 +529,8 @@ return _w1.signature_
|
|
|
535
529
|
return processSignature_(_w1)
|
|
536
530
|
}));
|
|
537
531
|
return {
|
|
538
|
-
generics_: x_.generics_,
|
|
539
|
-
name_: x_.name_,
|
|
532
|
+
generics_: x_.generics_,
|
|
533
|
+
name_: x_.name_,
|
|
540
534
|
symbols_: [...variants_, ...methods_]
|
|
541
535
|
}
|
|
542
536
|
}));
|
|
@@ -547,8 +541,8 @@ const functions_ = ff_core_List.List_map(module_.functions_, ((_w1) => {
|
|
|
547
541
|
return processSignature_(_w1.signature_)
|
|
548
542
|
}));
|
|
549
543
|
return [{
|
|
550
|
-
generics_: [],
|
|
551
|
-
name_: "",
|
|
544
|
+
generics_: [],
|
|
545
|
+
name_: "",
|
|
552
546
|
symbols_: [...ff_core_List.List_map(module_.lets_, ((_w1) => {
|
|
553
547
|
return _w1.name_
|
|
554
548
|
})), ...functions_]
|
|
@@ -606,7 +600,7 @@ const mainPath_ = (await ff_core_NodeSystem.NodeSystem_path$(system_, mainFile_,
|
|
|
606
600
|
const moduleKey_ = (await buildScript_$(mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitNode(), resolvedDependencies_, $task));
|
|
607
601
|
if((!(await ff_compiler_Main.importAndRun_$(system_, fireflyPath_, "node", moduleKey_, arguments_, $task)))) {
|
|
608
602
|
const at_ = ff_compiler_Syntax.Location((await ff_core_Path.Path_absolute$((await ff_core_NodeSystem.NodeSystem_path$(system_, mainFile_, $task)), $task)), 1, 1);
|
|
609
|
-
|
|
603
|
+
throw ff_core_Js.initializeError_(ff_compiler_Syntax.CompileError(at_, "This module does not contain a 'nodeMain' function"), new Error(), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileError)
|
|
610
604
|
}
|
|
611
605
|
return
|
|
612
606
|
}
|
|
@@ -634,7 +628,7 @@ if(command_a.CheckCommand) {
|
|
|
634
628
|
const filePath_ = command_a.filePath_;
|
|
635
629
|
const errors_ = (await ff_compiler_Builder.check_$(system_, fireflyPath_, (await ff_core_NodeSystem.NodeSystem_path$(system_, filePath_, $task)), ff_core_Option.None(), ff_core_Set.new_(), ff_core_Map.new_(), ff_compiler_ModuleCache.new_(1), (await ff_compiler_DependencyLock.new_$((await ff_core_NodeSystem.NodeSystem_mainTask$(system_, $task)), $task)), 0, ff_compiler_LspHook.disabled_(), true, $task));
|
|
636
630
|
if((!ff_core_List.List_isEmpty(errors_))) {
|
|
637
|
-
|
|
631
|
+
throw ff_core_Js.initializeError_(ff_compiler_Syntax.CompileErrors(ff_core_List.List_distinct(errors_, ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_CompileError)), new Error(), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileErrors, ff_compiler_Syntax.ff_core_Show_Show$ff_compiler_Syntax_CompileErrors)
|
|
638
632
|
}
|
|
639
633
|
return
|
|
640
634
|
}
|
|
@@ -735,7 +729,7 @@ return ff_compiler_Main.RunCommand(mainFile_, mainArguments_)
|
|
|
735
729
|
}
|
|
736
730
|
}
|
|
737
731
|
{
|
|
738
|
-
|
|
732
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) as first argument to run." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
739
733
|
}
|
|
740
734
|
}
|
|
741
735
|
return
|
|
@@ -753,10 +747,10 @@ return ff_compiler_Main.BrowserCommand(mainFile_)
|
|
|
753
747
|
}
|
|
754
748
|
}
|
|
755
749
|
if(_1.length >= 2) {
|
|
756
|
-
|
|
750
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must only specify a single argument to browser." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
757
751
|
}
|
|
758
752
|
{
|
|
759
|
-
|
|
753
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) as the argument to browser." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
760
754
|
}
|
|
761
755
|
}
|
|
762
756
|
return
|
|
@@ -774,10 +768,10 @@ return ff_compiler_Main.BuildCommand(mainFile_)
|
|
|
774
768
|
}
|
|
775
769
|
}
|
|
776
770
|
if(_1.length >= 2) {
|
|
777
|
-
|
|
771
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must only specify a single argument to build." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
778
772
|
}
|
|
779
773
|
{
|
|
780
|
-
|
|
774
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) as the argument to build." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
781
775
|
}
|
|
782
776
|
}
|
|
783
777
|
return
|
|
@@ -791,10 +785,10 @@ const fileName_ = _1[0];
|
|
|
791
785
|
return ff_compiler_Main.CheckCommand(fileName_)
|
|
792
786
|
}
|
|
793
787
|
if(_1.length >= 2) {
|
|
794
|
-
|
|
788
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must only specify a single argument to check." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
795
789
|
}
|
|
796
790
|
{
|
|
797
|
-
|
|
791
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) or directory as the argument to check." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
798
792
|
}
|
|
799
793
|
}
|
|
800
794
|
return
|
|
@@ -812,23 +806,23 @@ return ff_compiler_Main.SymbolsCommand(outName_, [fileName_, ...fileNames_])
|
|
|
812
806
|
}
|
|
813
807
|
}
|
|
814
808
|
{
|
|
815
|
-
|
|
809
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a output file (.tsv) and 1+ Firefly files (.ff) to symbols." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
816
810
|
}
|
|
817
811
|
}
|
|
818
812
|
return
|
|
819
813
|
}
|
|
820
814
|
if(arguments_a.length === 2 && arguments_a[0] === "bootstrap") {
|
|
821
|
-
|
|
815
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("bootstrap takes no arguments" + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
822
816
|
}
|
|
823
817
|
if(arguments_a.length === 1 && arguments_a[0] === "bootstrap") {
|
|
824
818
|
return ff_compiler_Main.BootstrapCommand()
|
|
825
819
|
}
|
|
826
820
|
if(arguments_a.length === 0) {
|
|
827
|
-
|
|
821
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a command or a main file to run." + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
828
822
|
}
|
|
829
823
|
{
|
|
830
824
|
const s_ = arguments_a[0];
|
|
831
|
-
|
|
825
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(((("Unknown command '" + s_) + "'") + ff_compiler_Main.usageString_)), new Error(), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError, ff_compiler_Main.ff_core_Show_Show$ff_compiler_Main_CommandLineError)
|
|
832
826
|
}
|
|
833
827
|
}
|
|
834
828
|
|
|
@@ -859,7 +853,12 @@ const runFilePath_ = (ff_core_String.String_contains(runFile_, "://")
|
|
|
859
853
|
: (await ff_core_NodeSystem.NodeSystem_path$(system_, runFile_, $task)));
|
|
860
854
|
if((await ff_core_Path.Path_exists$(runFilePath_, false, false, false, $task))) {
|
|
861
855
|
const main_ = (await import(runFile_));
|
|
862
|
-
|
|
856
|
+
try {
|
|
857
|
+
(await main_["$run$"](fireflyPath_.absolutePath_, arguments_))
|
|
858
|
+
} catch(error_) {
|
|
859
|
+
console.error(ff_core_Error.Error_stack(error_));
|
|
860
|
+
process.exit(1)
|
|
861
|
+
};
|
|
863
862
|
return true
|
|
864
863
|
} else {
|
|
865
864
|
return false
|
|
@@ -904,8 +903,8 @@ return (_w1 + ": ")
|
|
|
904
903
|
return ""
|
|
905
904
|
}));
|
|
906
905
|
return {
|
|
907
|
-
generics_: generics_,
|
|
908
|
-
name_: (g_ + x_.name_),
|
|
906
|
+
generics_: generics_,
|
|
907
|
+
name_: (g_ + x_.name_),
|
|
909
908
|
symbols_: ff_core_List.List_map(x_.methods_, ((_w1) => {
|
|
910
909
|
return processSignature_(_w1)
|
|
911
910
|
}))
|
|
@@ -939,8 +938,8 @@ return _w1.signature_
|
|
|
939
938
|
return processSignature_(_w1)
|
|
940
939
|
}));
|
|
941
940
|
return {
|
|
942
|
-
generics_: x_.generics_,
|
|
943
|
-
name_: x_.name_,
|
|
941
|
+
generics_: x_.generics_,
|
|
942
|
+
name_: x_.name_,
|
|
944
943
|
symbols_: [...variants_, ...methods_]
|
|
945
944
|
}
|
|
946
945
|
}));
|
|
@@ -951,8 +950,8 @@ const functions_ = ff_core_List.List_map(module_.functions_, ((_w1) => {
|
|
|
951
950
|
return processSignature_(_w1.signature_)
|
|
952
951
|
}));
|
|
953
952
|
return [{
|
|
954
|
-
generics_: [],
|
|
955
|
-
name_: "",
|
|
953
|
+
generics_: [],
|
|
954
|
+
name_: "",
|
|
956
955
|
symbols_: [...ff_core_List.List_map(module_.lets_, ((_w1) => {
|
|
957
956
|
return _w1.name_
|
|
958
957
|
})), ...functions_]
|
|
@@ -968,15 +967,13 @@ return [header_, ...ff_core_List.List_sort(r_.symbols_, ff_core_Ordering.ff_core
|
|
|
968
967
|
}))
|
|
969
968
|
}
|
|
970
969
|
|
|
971
|
-
|
|
972
|
-
|
|
973
970
|
export const ff_core_Any_HasAnyTag$ff_compiler_Main_MainCommand = {
|
|
974
971
|
anyTag_() {
|
|
975
972
|
return ff_core_Any.internalAnyTag_((("ff:compiler/Main.MainCommand" + "[") + "]"))
|
|
976
973
|
},
|
|
977
974
|
async anyTag_$($task) {
|
|
978
975
|
return ff_core_Any.internalAnyTag_((("ff:compiler/Main.MainCommand" + "[") + "]"))
|
|
979
|
-
}
|
|
976
|
+
},
|
|
980
977
|
};
|
|
981
978
|
|
|
982
979
|
export const ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError = {
|
|
@@ -985,7 +982,7 @@ return ff_core_Any.internalAnyTag_((("ff:compiler/Main.CommandLineError" + "[")
|
|
|
985
982
|
},
|
|
986
983
|
async anyTag_$($task) {
|
|
987
984
|
return ff_core_Any.internalAnyTag_((("ff:compiler/Main.CommandLineError" + "[") + "]"))
|
|
988
|
-
}
|
|
985
|
+
},
|
|
989
986
|
};
|
|
990
987
|
|
|
991
988
|
export const ff_core_Show_Show$ff_compiler_Main_MainCommand = {
|
|
@@ -1042,7 +1039,7 @@ return ((("CheckCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_
|
|
|
1042
1039
|
const z_ = value_a;
|
|
1043
1040
|
return ((((("SymbolsCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.outPath_)) + ", ") + ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.filePaths_)) + ")")
|
|
1044
1041
|
}
|
|
1045
|
-
}
|
|
1042
|
+
},
|
|
1046
1043
|
};
|
|
1047
1044
|
|
|
1048
1045
|
export const ff_core_Show_Show$ff_compiler_Main_CommandLineError = {
|
|
@@ -1059,7 +1056,7 @@ const value_a = value_;
|
|
|
1059
1056
|
const z_ = value_a;
|
|
1060
1057
|
return ((("CommandLineError" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.problem_)) + ")")
|
|
1061
1058
|
}
|
|
1062
|
-
}
|
|
1059
|
+
},
|
|
1063
1060
|
};
|
|
1064
1061
|
|
|
1065
1062
|
export const ff_core_Equal_Equal$ff_compiler_Main_MainCommand = {
|
|
@@ -1132,7 +1129,7 @@ return ((x_.outPath_ === y_.outPath_) && ff_core_List.ff_core_Equal_Equal$ff_cor
|
|
|
1132
1129
|
{
|
|
1133
1130
|
return false
|
|
1134
1131
|
}
|
|
1135
|
-
}
|
|
1132
|
+
},
|
|
1136
1133
|
};
|
|
1137
1134
|
|
|
1138
1135
|
export const ff_core_Equal_Equal$ff_compiler_Main_CommandLineError = {
|
|
@@ -1155,7 +1152,7 @@ return true
|
|
|
1155
1152
|
{
|
|
1156
1153
|
return (x_.problem_ === y_.problem_)
|
|
1157
1154
|
}
|
|
1158
|
-
}
|
|
1155
|
+
},
|
|
1159
1156
|
};
|
|
1160
1157
|
|
|
1161
1158
|
export const ff_core_Ordering_Order$ff_compiler_Main_MainCommand = {
|
|
@@ -1350,7 +1347,7 @@ return 5
|
|
|
1350
1347
|
}
|
|
1351
1348
|
return ff_core_Ordering.ff_core_Ordering_Order$ff_core_Int_Int.compare_(number_(x_), number_(y_))
|
|
1352
1349
|
}
|
|
1353
|
-
}
|
|
1350
|
+
},
|
|
1354
1351
|
};
|
|
1355
1352
|
|
|
1356
1353
|
export const ff_core_Ordering_Order$ff_compiler_Main_CommandLineError = {
|
|
@@ -1385,7 +1382,7 @@ return ff_core_Ordering.OrderingSame()
|
|
|
1385
1382
|
}
|
|
1386
1383
|
return
|
|
1387
1384
|
}
|
|
1388
|
-
}
|
|
1385
|
+
},
|
|
1389
1386
|
};
|
|
1390
1387
|
|
|
1391
1388
|
export const ff_core_Serializable_Serializable$ff_compiler_Main_MainCommand = {
|
|
@@ -1478,7 +1475,7 @@ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_
|
|
|
1478
1475
|
return ff_compiler_Main.SymbolsCommand(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_))
|
|
1479
1476
|
}
|
|
1480
1477
|
{
|
|
1481
|
-
|
|
1478
|
+
throw ff_core_Js.initializeError_(ff_core_Serializable.DeserializationChecksumException(), new Error(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException, ff_core_Serializable.ff_core_Show_Show$ff_core_Serializable_DeserializationChecksumException)
|
|
1482
1479
|
}
|
|
1483
1480
|
}
|
|
1484
1481
|
},
|
|
@@ -1571,10 +1568,10 @@ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_
|
|
|
1571
1568
|
return ff_compiler_Main.SymbolsCommand(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_), ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).deserializeUsing_(serialization_))
|
|
1572
1569
|
}
|
|
1573
1570
|
{
|
|
1574
|
-
|
|
1575
|
-
}
|
|
1571
|
+
throw ff_core_Js.initializeError_(ff_core_Serializable.DeserializationChecksumException(), new Error(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException, ff_core_Serializable.ff_core_Show_Show$ff_core_Serializable_DeserializationChecksumException)
|
|
1576
1572
|
}
|
|
1577
1573
|
}
|
|
1574
|
+
},
|
|
1578
1575
|
};
|
|
1579
1576
|
|
|
1580
1577
|
export const ff_core_Serializable_Serializable$ff_compiler_Main_CommandLineError = {
|
|
@@ -1601,7 +1598,7 @@ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_
|
|
|
1601
1598
|
return ff_compiler_Main.CommandLineError(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_))
|
|
1602
1599
|
}
|
|
1603
1600
|
{
|
|
1604
|
-
|
|
1601
|
+
throw ff_core_Js.initializeError_(ff_core_Serializable.DeserializationChecksumException(), new Error(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException, ff_core_Serializable.ff_core_Show_Show$ff_core_Serializable_DeserializationChecksumException)
|
|
1605
1602
|
}
|
|
1606
1603
|
}
|
|
1607
1604
|
},
|
|
@@ -1628,8 +1625,11 @@ serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_
|
|
|
1628
1625
|
return ff_compiler_Main.CommandLineError(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_))
|
|
1629
1626
|
}
|
|
1630
1627
|
{
|
|
1631
|
-
|
|
1632
|
-
}
|
|
1628
|
+
throw ff_core_Js.initializeError_(ff_core_Serializable.DeserializationChecksumException(), new Error(), ff_core_Serializable.ff_core_Any_HasAnyTag$ff_core_Serializable_DeserializationChecksumException, ff_core_Serializable.ff_core_Show_Show$ff_core_Serializable_DeserializationChecksumException)
|
|
1633
1629
|
}
|
|
1634
1630
|
}
|
|
1631
|
+
},
|
|
1635
1632
|
};
|
|
1633
|
+
|
|
1634
|
+
|
|
1635
|
+
//# sourceMappingURL=Main.mjs.map
|