firefly-compiler 0.5.79 → 0.5.80
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/compiler/Builder.ff +31 -39
- package/compiler/Compiler.ff +14 -4
- package/compiler/DevelopMode.ff +406 -0
- package/compiler/Main.ff +73 -53
- package/compiler/ModuleCache.ff +5 -5
- package/core/.firefly/include/package.json +1 -1
- package/core/BuildSystem.ff +82 -11
- package/core/NodeSystem.ff +47 -30
- package/core/Path.ff +7 -2
- package/experimental/proxy/Main.ff +60 -0
- package/experimental/proxy/Runner.ff +11 -0
- package/experimental/proxy/Tcp.ff +162 -0
- package/experimental/random/Superdigit.ff +18 -0
- package/experimental/terrain/Main.ff +40 -0
- package/experimental/terrain/Terrain.ff +97 -0
- package/experimental/terrain/Terrain2.ff +109 -0
- package/fireflysite/Main.ff +0 -1
- package/fireflysite/assets/markdown/reference/statements-and-expressions.md +1 -1
- package/lsp/CompletionHandler.ff +2 -2
- package/output/js/ff/compiler/Builder.mjs +24 -48
- package/output/js/ff/compiler/Builder.mjs.map +7 -11
- package/output/js/ff/compiler/Compiler.mjs +66 -12
- package/output/js/ff/compiler/Compiler.mjs.map +18 -14
- package/output/js/ff/compiler/Dependencies.mjs.map +2 -2
- package/output/js/ff/compiler/DependencyLock.mjs.map +1 -1
- package/output/js/ff/compiler/Deriver.mjs.map +1 -1
- package/output/js/ff/compiler/DevelopMode.mjs +1049 -0
- package/output/js/ff/compiler/DevelopMode.mjs.map +183 -0
- package/output/js/ff/compiler/Dictionaries.mjs.map +1 -1
- package/output/js/ff/compiler/Environment.mjs.map +1 -1
- package/output/js/ff/compiler/Inference.mjs.map +1 -1
- package/output/js/ff/compiler/JsEmitter.mjs.map +1 -1
- package/output/js/ff/compiler/JsImporter.mjs.map +1 -1
- package/output/js/ff/compiler/LspHook.mjs.map +1 -1
- package/output/js/ff/compiler/Main.mjs +256 -105
- package/output/js/ff/compiler/Main.mjs.map +43 -38
- package/output/js/ff/compiler/ModuleCache.mjs +12 -8
- package/output/js/ff/compiler/ModuleCache.mjs.map +4 -3
- package/output/js/ff/compiler/Parser.mjs.map +1 -1
- package/output/js/ff/compiler/Patterns.mjs.map +1 -1
- package/output/js/ff/compiler/Resolver.mjs.map +1 -1
- package/output/js/ff/compiler/SourceMap.mjs.map +1 -1
- package/output/js/ff/compiler/Substitution.mjs.map +1 -1
- package/output/js/ff/compiler/Syntax.mjs.map +1 -1
- package/output/js/ff/compiler/Token.mjs.map +1 -1
- package/output/js/ff/compiler/Tokenizer.mjs.map +1 -1
- package/output/js/ff/compiler/Unification.mjs.map +1 -1
- package/output/js/ff/compiler/Wildcards.mjs.map +1 -1
- package/output/js/ff/compiler/Workspace.mjs.map +1 -1
- package/output/js/ff/core/Any.mjs.map +1 -1
- package/output/js/ff/core/Array.mjs.map +1 -1
- package/output/js/ff/core/AssetSystem.mjs.map +1 -1
- package/output/js/ff/core/Atomic.mjs.map +1 -1
- package/output/js/ff/core/Bool.mjs.map +1 -1
- package/output/js/ff/core/BrowserSystem.mjs.map +1 -1
- package/output/js/ff/core/Buffer.mjs.map +1 -1
- package/output/js/ff/core/BuildSystem.mjs +116 -12
- package/output/js/ff/core/BuildSystem.mjs.map +35 -6
- package/output/js/ff/core/Channel.mjs.map +1 -1
- package/output/js/ff/core/Char.mjs.map +1 -1
- package/output/js/ff/core/Core.mjs.map +1 -1
- package/output/js/ff/core/Crypto.mjs.map +1 -1
- package/output/js/ff/core/Date.mjs.map +1 -1
- package/output/js/ff/core/Duration.mjs.map +1 -1
- package/output/js/ff/core/Equal.mjs.map +1 -1
- package/output/js/ff/core/Error.mjs.map +1 -1
- package/output/js/ff/core/FileHandle.mjs.map +1 -1
- package/output/js/ff/core/Float.mjs.map +1 -1
- package/output/js/ff/core/HttpClient.mjs.map +1 -1
- package/output/js/ff/core/Int.mjs.map +1 -1
- package/output/js/ff/core/IntMap.mjs.map +1 -1
- package/output/js/ff/core/Js.mjs.map +1 -1
- package/output/js/ff/core/JsSystem.mjs.map +1 -1
- package/output/js/ff/core/JsValue.mjs.map +1 -1
- package/output/js/ff/core/Json.mjs.map +1 -1
- package/output/js/ff/core/List.mjs.map +1 -1
- package/output/js/ff/core/Lock.mjs.map +1 -1
- package/output/js/ff/core/Log.mjs.map +1 -1
- package/output/js/ff/core/Map.mjs.map +1 -1
- package/output/js/ff/core/NodeSystem.mjs +54 -20
- package/output/js/ff/core/NodeSystem.mjs.map +14 -6
- package/output/js/ff/core/Nothing.mjs.map +1 -1
- package/output/js/ff/core/Option.mjs.map +1 -1
- package/output/js/ff/core/Ordering.mjs.map +1 -1
- package/output/js/ff/core/Pair.mjs.map +1 -1
- package/output/js/ff/core/Path.mjs +30 -4
- package/output/js/ff/core/Path.mjs.map +8 -6
- package/output/js/ff/core/Queue.mjs.map +1 -1
- package/output/js/ff/core/Random.mjs.map +1 -1
- package/output/js/ff/core/RbMap.mjs.map +1 -1
- package/output/js/ff/core/Serializable.mjs.map +1 -1
- package/output/js/ff/core/Set.mjs.map +1 -1
- package/output/js/ff/core/Show.mjs.map +1 -1
- package/output/js/ff/core/SourceLocation.mjs.map +1 -1
- package/output/js/ff/core/Stream.mjs.map +1 -1
- package/output/js/ff/core/String.mjs.map +1 -1
- package/output/js/ff/core/StringMap.mjs.map +1 -1
- package/output/js/ff/core/Task.mjs.map +1 -1
- package/output/js/ff/core/Try.mjs.map +1 -1
- package/output/js/ff/core/Unit.mjs.map +1 -1
- package/output/js/ff/core/node_modules +1 -0
- package/package.json +1 -1
- package/vscode/package.json +1 -1
- package/webserver/.firefly/include/package.json +1 -1
- package/webserver/WebServer.ff +6 -3
|
@@ -8,6 +8,8 @@ import * as ff_compiler_Dependencies from "../../ff/compiler/Dependencies.mjs"
|
|
|
8
8
|
|
|
9
9
|
import * as ff_compiler_DependencyLock from "../../ff/compiler/DependencyLock.mjs"
|
|
10
10
|
|
|
11
|
+
import * as ff_compiler_DevelopMode from "../../ff/compiler/DevelopMode.mjs"
|
|
12
|
+
|
|
11
13
|
import * as ff_compiler_Inference from "../../ff/compiler/Inference.mjs"
|
|
12
14
|
|
|
13
15
|
import * as ff_compiler_JsEmitter from "../../ff/compiler/JsEmitter.mjs"
|
|
@@ -129,6 +131,9 @@ return BootstrapCommand$;
|
|
|
129
131
|
export function RunCommand(mainPath_, argument_) {
|
|
130
132
|
return {RunCommand: true, mainPath_, argument_};
|
|
131
133
|
}
|
|
134
|
+
export function DevelopCommand(mainPath_, argument_) {
|
|
135
|
+
return {DevelopCommand: true, mainPath_, argument_};
|
|
136
|
+
}
|
|
132
137
|
export function BrowserCommand(mainPath_) {
|
|
133
138
|
return {BrowserCommand: true, mainPath_};
|
|
134
139
|
}
|
|
@@ -147,39 +152,10 @@ export function CommandLineError(problem_) {
|
|
|
147
152
|
return {problem_};
|
|
148
153
|
}
|
|
149
154
|
|
|
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>]
|
|
155
|
+
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 develop <main-file> [<main-arguments>] Develop 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";
|
|
151
156
|
|
|
152
157
|
export function main_(system_) {
|
|
153
158
|
const fireflyPath_ = ff_compiler_Main.detectFireflyPath_(system_);
|
|
154
|
-
function buildScript_(mainPath_, mainPackagePair_, emitTarget_, resolvedDependencies_) {
|
|
155
|
-
const fixedPackagePaths_ = (ff_core_Map.Map_contains(resolvedDependencies_.packagePaths_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)
|
|
156
|
-
? resolvedDependencies_.packagePaths_
|
|
157
|
-
: ff_core_Map.Map_add(resolvedDependencies_.packagePaths_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_core_Path.Path_slash(fireflyPath_, "core"), ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair));
|
|
158
|
-
const compilerModulePath_ = ((ff_core_Equal.notEquals_(emitTarget_, ff_compiler_JsEmitter.EmitBrowser(), ff_compiler_JsEmitter.ff_core_Equal_Equal$ff_compiler_JsEmitter_EmitTarget) && ff_core_Equal.notEquals_(emitTarget_, ff_compiler_JsEmitter.EmitExecutable(), ff_compiler_JsEmitter.ff_core_Equal_Equal$ff_compiler_JsEmitter_EmitTarget))
|
|
159
|
-
? ff_core_Option.Some(ff_core_Path.Path_slash(ff_core_Path.Path_slash(ff_core_Path.Path_slash(ff_core_Path.Path_slash(fireflyPath_, "output"), "js"), "ff"), "compiler/Builder.mjs"))
|
|
160
|
-
: ff_core_Option.None());
|
|
161
|
-
const targetName_ = (((_1) => {
|
|
162
|
-
if(_1.EmitBuild) {
|
|
163
|
-
return "build"
|
|
164
|
-
}
|
|
165
|
-
if(_1.EmitNode) {
|
|
166
|
-
return "node"
|
|
167
|
-
}
|
|
168
|
-
if(_1.EmitBrowser) {
|
|
169
|
-
return "browser"
|
|
170
|
-
}
|
|
171
|
-
{
|
|
172
|
-
return "executable"
|
|
173
|
-
}
|
|
174
|
-
}))(emitTarget_);
|
|
175
|
-
const folders_ = ff_core_Path.Path_relativeListTo(ff_core_Option.Option_grab(ff_core_Path.Path_parent(mainPath_)), ff_core_Map.Map_grab(fixedPackagePaths_, mainPackagePair_, ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair));
|
|
176
|
-
const name_ = ff_core_Option.Option_grab(ff_core_String.String_removeLast(ff_core_Path.Path_base(mainPath_), ".ff"));
|
|
177
|
-
const moduleKey_ = ff_compiler_Syntax.ModuleKey(mainPackagePair_, folders_, name_);
|
|
178
|
-
ff_compiler_Builder.build_(system_, emitTarget_, [moduleKey_], (((_c) => {
|
|
179
|
-
return ff_compiler_Dependencies.ResolvedDependencies(_c.mainPackagePair_, _c.packages_, fixedPackagePaths_, _c.singleFilePackages_)
|
|
180
|
-
}))(resolvedDependencies_), compilerModulePath_, ff_core_Path.Path_slash(ff_core_NodeSystem.NodeSystem_path(system_, ".firefly"), "temporary"), ff_core_Path.Path_path(ff_core_Path.Path_path(ff_core_NodeSystem.NodeSystem_path(system_, ".firefly"), "output"), targetName_), false, ff_compiler_ModuleCache.new_(0));
|
|
181
|
-
return moduleKey_
|
|
182
|
-
}
|
|
183
159
|
function runCommand_(command_) {
|
|
184
160
|
const command_a = command_;
|
|
185
161
|
if(command_a.RunCommand) {
|
|
@@ -188,19 +164,25 @@ const arguments_ = command_a.argument_;
|
|
|
188
164
|
const resolvedDependencies_ = ff_compiler_Dependencies.process_(ff_core_NodeSystem.NodeSystem_httpClient(system_), ff_compiler_DependencyLock.new_(ff_core_NodeSystem.NodeSystem_mainTask(system_)), ff_core_NodeSystem.NodeSystem_path(system_, mainFile_));
|
|
189
165
|
ff_compiler_Main.prepareFireflyDirectory_(ff_core_NodeSystem.NodeSystem_path(system_, "."));
|
|
190
166
|
const mainPath_ = ff_core_NodeSystem.NodeSystem_path(system_, mainFile_);
|
|
191
|
-
const moduleKey_ = buildScript_(mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitNode(), resolvedDependencies_);
|
|
167
|
+
const moduleKey_ = ff_compiler_Main.buildScript_(system_, mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitNode(), resolvedDependencies_, ff_compiler_ModuleCache.new_(0), false);
|
|
192
168
|
if((!ff_compiler_Main.importAndRun_(system_, fireflyPath_, "node", moduleKey_, arguments_))) {
|
|
193
169
|
const at_ = ff_compiler_Syntax.Location(ff_core_Path.Path_absolute(ff_core_NodeSystem.NodeSystem_path(system_, mainFile_)), 1, 1);
|
|
194
170
|
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)
|
|
195
171
|
}
|
|
196
172
|
return
|
|
197
173
|
}
|
|
174
|
+
if(command_a.DevelopCommand) {
|
|
175
|
+
const mainFile_ = command_a.mainPath_;
|
|
176
|
+
const arguments_ = command_a.argument_;
|
|
177
|
+
ff_compiler_DevelopMode.run_(system_, fireflyPath_, mainFile_, arguments_)
|
|
178
|
+
return
|
|
179
|
+
}
|
|
198
180
|
if(command_a.BrowserCommand) {
|
|
199
181
|
const mainFile_ = command_a.mainPath_;
|
|
200
182
|
const resolvedDependencies_ = ff_compiler_Dependencies.process_(ff_core_NodeSystem.NodeSystem_httpClient(system_), ff_compiler_DependencyLock.new_(ff_core_NodeSystem.NodeSystem_mainTask(system_)), ff_core_NodeSystem.NodeSystem_path(system_, mainFile_));
|
|
201
183
|
ff_compiler_Main.prepareFireflyDirectory_(ff_core_NodeSystem.NodeSystem_path(system_, "."));
|
|
202
184
|
const mainPath_ = ff_core_NodeSystem.NodeSystem_path(system_, mainFile_);
|
|
203
|
-
const moduleKey_ = buildScript_(mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitBrowser(), resolvedDependencies_);
|
|
185
|
+
const moduleKey_ = ff_compiler_Main.buildScript_(system_, mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitBrowser(), resolvedDependencies_, ff_compiler_ModuleCache.new_(0), false);
|
|
204
186
|
ff_compiler_Main.bundleForBrowser_(system_, resolvedDependencies_.mainPackagePair_, moduleKey_)
|
|
205
187
|
return
|
|
206
188
|
}
|
|
@@ -209,8 +191,8 @@ const mainFile_ = command_a.mainPath_;
|
|
|
209
191
|
const resolvedDependencies_ = ff_compiler_Dependencies.process_(ff_core_NodeSystem.NodeSystem_httpClient(system_), ff_compiler_DependencyLock.new_(ff_core_NodeSystem.NodeSystem_mainTask(system_)), ff_core_NodeSystem.NodeSystem_path(system_, (mainFile_ + ".ff")));
|
|
210
192
|
ff_compiler_Main.prepareFireflyDirectory_(ff_core_NodeSystem.NodeSystem_path(system_, "."));
|
|
211
193
|
const mainPath_ = ff_core_NodeSystem.NodeSystem_path(system_, mainFile_);
|
|
212
|
-
const moduleKey_ = buildScript_(mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitBuild(), resolvedDependencies_);
|
|
213
|
-
buildScript_(mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitExecutable(), resolvedDependencies_);
|
|
194
|
+
const moduleKey_ = ff_compiler_Main.buildScript_(system_, mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitBuild(), resolvedDependencies_, ff_compiler_ModuleCache.new_(0), false);
|
|
195
|
+
ff_compiler_Main.buildScript_(system_, mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitExecutable(), resolvedDependencies_, ff_compiler_ModuleCache.new_(0), false);
|
|
214
196
|
ff_compiler_Main.bundleForPkg_(system_, resolvedDependencies_.mainPackagePair_, ff_core_Path.Path_base(mainPath_));
|
|
215
197
|
ff_compiler_Main.importAndRun_(system_, fireflyPath_, "build", moduleKey_, [])
|
|
216
198
|
return
|
|
@@ -226,7 +208,7 @@ return
|
|
|
226
208
|
if(command_a.BootstrapCommand) {
|
|
227
209
|
const workingDirectory_ = ff_core_NodeSystem.NodeSystem_path(system_, ".");
|
|
228
210
|
const fakeLocation_ = ff_compiler_Syntax.Location("<core>", 0, 0);
|
|
229
|
-
ff_compiler_Builder.build_(system_, ff_compiler_JsEmitter.EmitNode(), [ff_compiler_Syntax.ModuleKey(ff_compiler_Syntax.PackagePair("ff", "compiler"), [], "Main")], ff_compiler_Dependencies.ResolvedDependencies(ff_compiler_Syntax.PackagePair("ff", "compiler"), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.PackageInfo(ff_compiler_Syntax.DPackage(fakeLocation_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.Version(fakeLocation_, 0, 0, 0), ff_compiler_Syntax.TargetNames(true, false)), [], [ff_compiler_Syntax.DInclude(fakeLocation_, "node_modules")]))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "compiler"), ff_core_Path.Path_slash(workingDirectory_, "compiler")), ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), ff_core_Path.Path_slash(workingDirectory_, "core"))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toSet([], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)), ff_core_Option.None(), ff_core_Path.Path_slash(ff_core_Path.Path_slash(workingDirectory_, "output"), "
|
|
211
|
+
ff_compiler_Builder.build_(system_, ff_compiler_JsEmitter.EmitNode(), [ff_compiler_Syntax.ModuleKey(ff_compiler_Syntax.PackagePair("ff", "compiler"), [], "Main")], ff_compiler_Dependencies.ResolvedDependencies(ff_compiler_Syntax.PackagePair("ff", "compiler"), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.PackageInfo(ff_compiler_Syntax.DPackage(fakeLocation_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.Version(fakeLocation_, 0, 0, 0), ff_compiler_Syntax.TargetNames(true, false)), [], [ff_compiler_Syntax.DInclude(fakeLocation_, "node_modules")]))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "compiler"), ff_core_Path.Path_slash(workingDirectory_, "compiler")), ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), ff_core_Path.Path_slash(workingDirectory_, "core"))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toSet([], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)), ff_core_Option.None(), ff_core_Path.Path_slash(ff_core_Path.Path_slash(workingDirectory_, "output"), "js"), true, ff_compiler_ModuleCache.new_(0))
|
|
230
212
|
return
|
|
231
213
|
}
|
|
232
214
|
{
|
|
@@ -295,6 +277,37 @@ return
|
|
|
295
277
|
}), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileErrors)
|
|
296
278
|
}
|
|
297
279
|
|
|
280
|
+
export function buildScript_(system_, mainPath_, mainPackagePair_, emitTarget_, resolvedDependencies_, moduleCache_ = ff_compiler_ModuleCache.new_(0), printMeasurements_ = false) {
|
|
281
|
+
const fireflyPath_ = ff_compiler_Main.detectFireflyPath_(system_);
|
|
282
|
+
const fixedPackagePaths_ = (ff_core_Map.Map_contains(resolvedDependencies_.packagePaths_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)
|
|
283
|
+
? resolvedDependencies_.packagePaths_
|
|
284
|
+
: ff_core_Map.Map_add(resolvedDependencies_.packagePaths_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_core_Path.Path_slash(fireflyPath_, "core"), ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair));
|
|
285
|
+
const compilerModulePath_ = ((ff_core_Equal.notEquals_(emitTarget_, ff_compiler_JsEmitter.EmitBrowser(), ff_compiler_JsEmitter.ff_core_Equal_Equal$ff_compiler_JsEmitter_EmitTarget) && ff_core_Equal.notEquals_(emitTarget_, ff_compiler_JsEmitter.EmitExecutable(), ff_compiler_JsEmitter.ff_core_Equal_Equal$ff_compiler_JsEmitter_EmitTarget))
|
|
286
|
+
? ff_core_Option.Some(ff_core_Path.Path_slash(ff_core_Path.Path_slash(ff_core_Path.Path_slash(ff_core_Path.Path_slash(fireflyPath_, "output"), "js"), "ff"), "compiler/Builder.mjs"))
|
|
287
|
+
: ff_core_Option.None());
|
|
288
|
+
const targetName_ = (((_1) => {
|
|
289
|
+
if(_1.EmitBuild) {
|
|
290
|
+
return "build"
|
|
291
|
+
}
|
|
292
|
+
if(_1.EmitNode) {
|
|
293
|
+
return "node"
|
|
294
|
+
}
|
|
295
|
+
if(_1.EmitBrowser) {
|
|
296
|
+
return "browser"
|
|
297
|
+
}
|
|
298
|
+
{
|
|
299
|
+
return "executable"
|
|
300
|
+
}
|
|
301
|
+
}))(emitTarget_);
|
|
302
|
+
const folders_ = ff_core_Path.Path_relativeListTo(ff_core_Option.Option_grab(ff_core_Path.Path_parent(mainPath_)), ff_core_Map.Map_grab(fixedPackagePaths_, mainPackagePair_, ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair));
|
|
303
|
+
const name_ = ff_core_Option.Option_grab(ff_core_String.String_removeLast(ff_core_Path.Path_base(mainPath_), ".ff"));
|
|
304
|
+
const moduleKey_ = ff_compiler_Syntax.ModuleKey(mainPackagePair_, folders_, name_);
|
|
305
|
+
ff_compiler_Builder.build_(system_, emitTarget_, [moduleKey_], (((_c) => {
|
|
306
|
+
return ff_compiler_Dependencies.ResolvedDependencies(_c.mainPackagePair_, _c.packages_, fixedPackagePaths_, _c.singleFilePackages_)
|
|
307
|
+
}))(resolvedDependencies_), compilerModulePath_, ff_core_Path.Path_path(ff_core_Path.Path_path(ff_core_NodeSystem.NodeSystem_path(system_, ".firefly"), "output"), targetName_), printMeasurements_, moduleCache_);
|
|
308
|
+
return moduleKey_
|
|
309
|
+
}
|
|
310
|
+
|
|
298
311
|
export function parseCommandLine_(arguments_) {
|
|
299
312
|
const arguments_a = arguments_;
|
|
300
313
|
if(arguments_a.length >= 1) {
|
|
@@ -325,6 +338,25 @@ throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must s
|
|
|
325
338
|
}
|
|
326
339
|
return
|
|
327
340
|
}
|
|
341
|
+
if(arguments_a.length >= 1 && arguments_a[0] === "develop") {
|
|
342
|
+
const runArguments_ = arguments_a.slice(1);
|
|
343
|
+
{
|
|
344
|
+
const _1 = runArguments_;
|
|
345
|
+
if(_1.length >= 1) {
|
|
346
|
+
const mainFile_ = _1[0];
|
|
347
|
+
const mainArguments_ = _1.slice(1);
|
|
348
|
+
const _guard1 = ff_core_String.String_removeLast(mainFile_, ".ff");
|
|
349
|
+
if(_guard1.Some) {
|
|
350
|
+
const mainName_ = _guard1.value_;
|
|
351
|
+
return ff_compiler_Main.DevelopCommand(mainFile_, mainArguments_)
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
{
|
|
355
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) as first argument to develop." + 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
|
+
}
|
|
357
|
+
}
|
|
358
|
+
return
|
|
359
|
+
}
|
|
328
360
|
if(arguments_a.length >= 1 && arguments_a[0] === "browser") {
|
|
329
361
|
const browserArguments_ = arguments_a.slice(1);
|
|
330
362
|
{
|
|
@@ -432,13 +464,7 @@ ff_core_BuildSystem.internalBrowserCallEsBuild_(system_, [ff_core_Path.Path_abso
|
|
|
432
464
|
}
|
|
433
465
|
|
|
434
466
|
export function importAndRun_(system_, fireflyPath_, target_, moduleKey_, arguments_) {
|
|
435
|
-
const
|
|
436
|
-
const cwd_ = process_.cwd();
|
|
437
|
-
const workingDirectory_ = ((cwd_.indexOf(":") === 1)
|
|
438
|
-
? ("file:///" + cwd_)
|
|
439
|
-
: cwd_);
|
|
440
|
-
const packagePath_ = ff_compiler_Syntax.PackagePair_groupName(moduleKey_.packagePair_, "/");
|
|
441
|
-
const runFile_ = (((((((workingDirectory_ + "/.firefly/output/") + target_) + "/") + packagePath_) + "/") + ff_compiler_Syntax.ModuleKey_importName(moduleKey_)) + ".run.mjs");
|
|
467
|
+
const runFile_ = ff_compiler_Main.locateRunFile_(system_, target_, moduleKey_);
|
|
442
468
|
const runFilePath_ = (ff_core_String.String_contains(runFile_, "://")
|
|
443
469
|
? ff_core_NodeSystem.NodeSystem_pathFromUrl(system_, runFile_)
|
|
444
470
|
: ff_core_NodeSystem.NodeSystem_path(system_, runFile_));
|
|
@@ -456,6 +482,16 @@ return false
|
|
|
456
482
|
}
|
|
457
483
|
}
|
|
458
484
|
|
|
485
|
+
export function locateRunFile_(system_, target_, moduleKey_) {
|
|
486
|
+
const process_ = import("process");
|
|
487
|
+
const cwd_ = process_.cwd();
|
|
488
|
+
const workingDirectory_ = ((cwd_.indexOf(":") === 1)
|
|
489
|
+
? ("file:///" + cwd_)
|
|
490
|
+
: cwd_);
|
|
491
|
+
const packagePath_ = ff_compiler_Syntax.PackagePair_groupName(moduleKey_.packagePair_, "/");
|
|
492
|
+
return (((((((workingDirectory_ + "/.firefly/output/") + target_) + "/") + packagePath_) + "/") + ff_compiler_Syntax.ModuleKey_importName(moduleKey_)) + ".run.mjs")
|
|
493
|
+
}
|
|
494
|
+
|
|
459
495
|
export function prepareFireflyDirectory_(path_) {
|
|
460
496
|
if((!ff_core_Path.Path_exists(ff_core_Path.Path_slash(ff_core_Path.Path_slash(path_, ".firefly"), "output"), false, false, false))) {
|
|
461
497
|
if((!ff_core_Path.Path_exists(ff_core_Path.Path_slash(path_, ".firefly"), false, false, false))) {
|
|
@@ -560,35 +596,6 @@ return [header_, ...ff_core_List.List_sort(r_.symbols_, ff_core_Ordering.ff_core
|
|
|
560
596
|
|
|
561
597
|
export async function main_$(system_, $task) {
|
|
562
598
|
const fireflyPath_ = (await ff_compiler_Main.detectFireflyPath_$(system_, $task));
|
|
563
|
-
async function buildScript_$(mainPath_, mainPackagePair_, emitTarget_, resolvedDependencies_, $task) {
|
|
564
|
-
const fixedPackagePaths_ = (ff_core_Map.Map_contains(resolvedDependencies_.packagePaths_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)
|
|
565
|
-
? resolvedDependencies_.packagePaths_
|
|
566
|
-
: ff_core_Map.Map_add(resolvedDependencies_.packagePaths_, ff_compiler_Syntax.PackagePair("ff", "core"), (await ff_core_Path.Path_slash$(fireflyPath_, "core", $task)), ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair));
|
|
567
|
-
const compilerModulePath_ = ((ff_core_Equal.notEquals_(emitTarget_, ff_compiler_JsEmitter.EmitBrowser(), ff_compiler_JsEmitter.ff_core_Equal_Equal$ff_compiler_JsEmitter_EmitTarget) && ff_core_Equal.notEquals_(emitTarget_, ff_compiler_JsEmitter.EmitExecutable(), ff_compiler_JsEmitter.ff_core_Equal_Equal$ff_compiler_JsEmitter_EmitTarget))
|
|
568
|
-
? ff_core_Option.Some((await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$(fireflyPath_, "output", $task)), "js", $task)), "ff", $task)), "compiler/Builder.mjs", $task)))
|
|
569
|
-
: ff_core_Option.None());
|
|
570
|
-
const targetName_ = (((_1) => {
|
|
571
|
-
if(_1.EmitBuild) {
|
|
572
|
-
return "build"
|
|
573
|
-
}
|
|
574
|
-
if(_1.EmitNode) {
|
|
575
|
-
return "node"
|
|
576
|
-
}
|
|
577
|
-
if(_1.EmitBrowser) {
|
|
578
|
-
return "browser"
|
|
579
|
-
}
|
|
580
|
-
{
|
|
581
|
-
return "executable"
|
|
582
|
-
}
|
|
583
|
-
}))(emitTarget_);
|
|
584
|
-
const folders_ = (await ff_core_Path.Path_relativeListTo$(ff_core_Option.Option_grab((await ff_core_Path.Path_parent$(mainPath_, $task))), ff_core_Map.Map_grab(fixedPackagePaths_, mainPackagePair_, ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), $task));
|
|
585
|
-
const name_ = ff_core_Option.Option_grab(ff_core_String.String_removeLast((await ff_core_Path.Path_base$(mainPath_, $task)), ".ff"));
|
|
586
|
-
const moduleKey_ = ff_compiler_Syntax.ModuleKey(mainPackagePair_, folders_, name_);
|
|
587
|
-
(await ff_compiler_Builder.build_$(system_, emitTarget_, [moduleKey_], (((_c) => {
|
|
588
|
-
return ff_compiler_Dependencies.ResolvedDependencies(_c.mainPackagePair_, _c.packages_, fixedPackagePaths_, _c.singleFilePackages_)
|
|
589
|
-
}))(resolvedDependencies_), compilerModulePath_, (await ff_core_Path.Path_slash$((await ff_core_NodeSystem.NodeSystem_path$(system_, ".firefly", $task)), "temporary", $task)), (await ff_core_Path.Path_path$((await ff_core_Path.Path_path$((await ff_core_NodeSystem.NodeSystem_path$(system_, ".firefly", $task)), "output", $task)), targetName_, $task)), false, ff_compiler_ModuleCache.new_(0), $task));
|
|
590
|
-
return moduleKey_
|
|
591
|
-
}
|
|
592
599
|
async function runCommand_$(command_, $task) {
|
|
593
600
|
const command_a = command_;
|
|
594
601
|
if(command_a.RunCommand) {
|
|
@@ -597,19 +604,25 @@ const arguments_ = command_a.argument_;
|
|
|
597
604
|
const resolvedDependencies_ = (await ff_compiler_Dependencies.process_$((await ff_core_NodeSystem.NodeSystem_httpClient$(system_, $task)), (await ff_compiler_DependencyLock.new_$((await ff_core_NodeSystem.NodeSystem_mainTask$(system_, $task)), $task)), (await ff_core_NodeSystem.NodeSystem_path$(system_, mainFile_, $task)), $task));
|
|
598
605
|
(await ff_compiler_Main.prepareFireflyDirectory_$((await ff_core_NodeSystem.NodeSystem_path$(system_, ".", $task)), $task));
|
|
599
606
|
const mainPath_ = (await ff_core_NodeSystem.NodeSystem_path$(system_, mainFile_, $task));
|
|
600
|
-
const moduleKey_ = (await buildScript_$(mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitNode(), resolvedDependencies_, $task));
|
|
607
|
+
const moduleKey_ = (await ff_compiler_Main.buildScript_$(system_, mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitNode(), resolvedDependencies_, ff_compiler_ModuleCache.new_(0), false, $task));
|
|
601
608
|
if((!(await ff_compiler_Main.importAndRun_$(system_, fireflyPath_, "node", moduleKey_, arguments_, $task)))) {
|
|
602
609
|
const at_ = ff_compiler_Syntax.Location((await ff_core_Path.Path_absolute$((await ff_core_NodeSystem.NodeSystem_path$(system_, mainFile_, $task)), $task)), 1, 1);
|
|
603
610
|
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)
|
|
604
611
|
}
|
|
605
612
|
return
|
|
606
613
|
}
|
|
614
|
+
if(command_a.DevelopCommand) {
|
|
615
|
+
const mainFile_ = command_a.mainPath_;
|
|
616
|
+
const arguments_ = command_a.argument_;
|
|
617
|
+
(await ff_compiler_DevelopMode.run_$(system_, fireflyPath_, mainFile_, arguments_, $task))
|
|
618
|
+
return
|
|
619
|
+
}
|
|
607
620
|
if(command_a.BrowserCommand) {
|
|
608
621
|
const mainFile_ = command_a.mainPath_;
|
|
609
622
|
const resolvedDependencies_ = (await ff_compiler_Dependencies.process_$((await ff_core_NodeSystem.NodeSystem_httpClient$(system_, $task)), (await ff_compiler_DependencyLock.new_$((await ff_core_NodeSystem.NodeSystem_mainTask$(system_, $task)), $task)), (await ff_core_NodeSystem.NodeSystem_path$(system_, mainFile_, $task)), $task));
|
|
610
623
|
(await ff_compiler_Main.prepareFireflyDirectory_$((await ff_core_NodeSystem.NodeSystem_path$(system_, ".", $task)), $task));
|
|
611
624
|
const mainPath_ = (await ff_core_NodeSystem.NodeSystem_path$(system_, mainFile_, $task));
|
|
612
|
-
const moduleKey_ = (await buildScript_$(mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitBrowser(), resolvedDependencies_, $task));
|
|
625
|
+
const moduleKey_ = (await ff_compiler_Main.buildScript_$(system_, mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitBrowser(), resolvedDependencies_, ff_compiler_ModuleCache.new_(0), false, $task));
|
|
613
626
|
(await ff_compiler_Main.bundleForBrowser_$(system_, resolvedDependencies_.mainPackagePair_, moduleKey_, $task))
|
|
614
627
|
return
|
|
615
628
|
}
|
|
@@ -618,8 +631,8 @@ const mainFile_ = command_a.mainPath_;
|
|
|
618
631
|
const resolvedDependencies_ = (await ff_compiler_Dependencies.process_$((await ff_core_NodeSystem.NodeSystem_httpClient$(system_, $task)), (await ff_compiler_DependencyLock.new_$((await ff_core_NodeSystem.NodeSystem_mainTask$(system_, $task)), $task)), (await ff_core_NodeSystem.NodeSystem_path$(system_, (mainFile_ + ".ff"), $task)), $task));
|
|
619
632
|
(await ff_compiler_Main.prepareFireflyDirectory_$((await ff_core_NodeSystem.NodeSystem_path$(system_, ".", $task)), $task));
|
|
620
633
|
const mainPath_ = (await ff_core_NodeSystem.NodeSystem_path$(system_, mainFile_, $task));
|
|
621
|
-
const moduleKey_ = (await buildScript_$(mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitBuild(), resolvedDependencies_, $task));
|
|
622
|
-
(await buildScript_$(mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitExecutable(), resolvedDependencies_, $task));
|
|
634
|
+
const moduleKey_ = (await ff_compiler_Main.buildScript_$(system_, mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitBuild(), resolvedDependencies_, ff_compiler_ModuleCache.new_(0), false, $task));
|
|
635
|
+
(await ff_compiler_Main.buildScript_$(system_, mainPath_, resolvedDependencies_.mainPackagePair_, ff_compiler_JsEmitter.EmitExecutable(), resolvedDependencies_, ff_compiler_ModuleCache.new_(0), false, $task));
|
|
623
636
|
(await ff_compiler_Main.bundleForPkg_$(system_, resolvedDependencies_.mainPackagePair_, (await ff_core_Path.Path_base$(mainPath_, $task)), $task));
|
|
624
637
|
(await ff_compiler_Main.importAndRun_$(system_, fireflyPath_, "build", moduleKey_, [], $task))
|
|
625
638
|
return
|
|
@@ -635,7 +648,7 @@ return
|
|
|
635
648
|
if(command_a.BootstrapCommand) {
|
|
636
649
|
const workingDirectory_ = (await ff_core_NodeSystem.NodeSystem_path$(system_, ".", $task));
|
|
637
650
|
const fakeLocation_ = ff_compiler_Syntax.Location("<core>", 0, 0);
|
|
638
|
-
(await ff_compiler_Builder.build_$(system_, ff_compiler_JsEmitter.EmitNode(), [ff_compiler_Syntax.ModuleKey(ff_compiler_Syntax.PackagePair("ff", "compiler"), [], "Main")], ff_compiler_Dependencies.ResolvedDependencies(ff_compiler_Syntax.PackagePair("ff", "compiler"), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.PackageInfo(ff_compiler_Syntax.DPackage(fakeLocation_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.Version(fakeLocation_, 0, 0, 0), ff_compiler_Syntax.TargetNames(true, false)), [], [ff_compiler_Syntax.DInclude(fakeLocation_, "node_modules")]))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "compiler"), (await ff_core_Path.Path_slash$(workingDirectory_, "compiler", $task))), ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), (await ff_core_Path.Path_slash$(workingDirectory_, "core", $task)))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toSet([], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)), ff_core_Option.None(), (await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$(workingDirectory_, "output", $task)), "
|
|
651
|
+
(await ff_compiler_Builder.build_$(system_, ff_compiler_JsEmitter.EmitNode(), [ff_compiler_Syntax.ModuleKey(ff_compiler_Syntax.PackagePair("ff", "compiler"), [], "Main")], ff_compiler_Dependencies.ResolvedDependencies(ff_compiler_Syntax.PackagePair("ff", "compiler"), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.PackageInfo(ff_compiler_Syntax.DPackage(fakeLocation_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.Version(fakeLocation_, 0, 0, 0), ff_compiler_Syntax.TargetNames(true, false)), [], [ff_compiler_Syntax.DInclude(fakeLocation_, "node_modules")]))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "compiler"), (await ff_core_Path.Path_slash$(workingDirectory_, "compiler", $task))), ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), (await ff_core_Path.Path_slash$(workingDirectory_, "core", $task)))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toSet([], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)), ff_core_Option.None(), (await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$(workingDirectory_, "output", $task)), "js", $task)), true, ff_compiler_ModuleCache.new_(0), $task))
|
|
639
652
|
return
|
|
640
653
|
}
|
|
641
654
|
{
|
|
@@ -704,6 +717,37 @@ return
|
|
|
704
717
|
}), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileErrors)
|
|
705
718
|
}
|
|
706
719
|
|
|
720
|
+
export async function buildScript_$(system_, mainPath_, mainPackagePair_, emitTarget_, resolvedDependencies_, moduleCache_ = ff_compiler_ModuleCache.new_(0), printMeasurements_ = false, $task) {
|
|
721
|
+
const fireflyPath_ = (await ff_compiler_Main.detectFireflyPath_$(system_, $task));
|
|
722
|
+
const fixedPackagePaths_ = (ff_core_Map.Map_contains(resolvedDependencies_.packagePaths_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)
|
|
723
|
+
? resolvedDependencies_.packagePaths_
|
|
724
|
+
: ff_core_Map.Map_add(resolvedDependencies_.packagePaths_, ff_compiler_Syntax.PackagePair("ff", "core"), (await ff_core_Path.Path_slash$(fireflyPath_, "core", $task)), ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair));
|
|
725
|
+
const compilerModulePath_ = ((ff_core_Equal.notEquals_(emitTarget_, ff_compiler_JsEmitter.EmitBrowser(), ff_compiler_JsEmitter.ff_core_Equal_Equal$ff_compiler_JsEmitter_EmitTarget) && ff_core_Equal.notEquals_(emitTarget_, ff_compiler_JsEmitter.EmitExecutable(), ff_compiler_JsEmitter.ff_core_Equal_Equal$ff_compiler_JsEmitter_EmitTarget))
|
|
726
|
+
? ff_core_Option.Some((await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$(fireflyPath_, "output", $task)), "js", $task)), "ff", $task)), "compiler/Builder.mjs", $task)))
|
|
727
|
+
: ff_core_Option.None());
|
|
728
|
+
const targetName_ = (((_1) => {
|
|
729
|
+
if(_1.EmitBuild) {
|
|
730
|
+
return "build"
|
|
731
|
+
}
|
|
732
|
+
if(_1.EmitNode) {
|
|
733
|
+
return "node"
|
|
734
|
+
}
|
|
735
|
+
if(_1.EmitBrowser) {
|
|
736
|
+
return "browser"
|
|
737
|
+
}
|
|
738
|
+
{
|
|
739
|
+
return "executable"
|
|
740
|
+
}
|
|
741
|
+
}))(emitTarget_);
|
|
742
|
+
const folders_ = (await ff_core_Path.Path_relativeListTo$(ff_core_Option.Option_grab((await ff_core_Path.Path_parent$(mainPath_, $task))), ff_core_Map.Map_grab(fixedPackagePaths_, mainPackagePair_, ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), $task));
|
|
743
|
+
const name_ = ff_core_Option.Option_grab(ff_core_String.String_removeLast((await ff_core_Path.Path_base$(mainPath_, $task)), ".ff"));
|
|
744
|
+
const moduleKey_ = ff_compiler_Syntax.ModuleKey(mainPackagePair_, folders_, name_);
|
|
745
|
+
(await ff_compiler_Builder.build_$(system_, emitTarget_, [moduleKey_], (((_c) => {
|
|
746
|
+
return ff_compiler_Dependencies.ResolvedDependencies(_c.mainPackagePair_, _c.packages_, fixedPackagePaths_, _c.singleFilePackages_)
|
|
747
|
+
}))(resolvedDependencies_), compilerModulePath_, (await ff_core_Path.Path_path$((await ff_core_Path.Path_path$((await ff_core_NodeSystem.NodeSystem_path$(system_, ".firefly", $task)), "output", $task)), targetName_, $task)), printMeasurements_, moduleCache_, $task));
|
|
748
|
+
return moduleKey_
|
|
749
|
+
}
|
|
750
|
+
|
|
707
751
|
export async function parseCommandLine_$(arguments_, $task) {
|
|
708
752
|
const arguments_a = arguments_;
|
|
709
753
|
if(arguments_a.length >= 1) {
|
|
@@ -734,6 +778,25 @@ throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must s
|
|
|
734
778
|
}
|
|
735
779
|
return
|
|
736
780
|
}
|
|
781
|
+
if(arguments_a.length >= 1 && arguments_a[0] === "develop") {
|
|
782
|
+
const runArguments_ = arguments_a.slice(1);
|
|
783
|
+
{
|
|
784
|
+
const _1 = runArguments_;
|
|
785
|
+
if(_1.length >= 1) {
|
|
786
|
+
const mainFile_ = _1[0];
|
|
787
|
+
const mainArguments_ = _1.slice(1);
|
|
788
|
+
const _guard1 = ff_core_String.String_removeLast(mainFile_, ".ff");
|
|
789
|
+
if(_guard1.Some) {
|
|
790
|
+
const mainName_ = _guard1.value_;
|
|
791
|
+
return ff_compiler_Main.DevelopCommand(mainFile_, mainArguments_)
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
{
|
|
795
|
+
throw ff_core_Js.initializeError_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) as first argument to develop." + 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)
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
return
|
|
799
|
+
}
|
|
737
800
|
if(arguments_a.length >= 1 && arguments_a[0] === "browser") {
|
|
738
801
|
const browserArguments_ = arguments_a.slice(1);
|
|
739
802
|
{
|
|
@@ -841,13 +904,7 @@ ff_core_BuildSystem.internalBrowserCallEsBuild_(system_, [(await ff_core_Path.Pa
|
|
|
841
904
|
}
|
|
842
905
|
|
|
843
906
|
export async function importAndRun_$(system_, fireflyPath_, target_, moduleKey_, arguments_, $task) {
|
|
844
|
-
const
|
|
845
|
-
const cwd_ = process_.cwd();
|
|
846
|
-
const workingDirectory_ = ((cwd_.indexOf(":") === 1)
|
|
847
|
-
? ("file:///" + cwd_)
|
|
848
|
-
: cwd_);
|
|
849
|
-
const packagePath_ = ff_compiler_Syntax.PackagePair_groupName(moduleKey_.packagePair_, "/");
|
|
850
|
-
const runFile_ = (((((((workingDirectory_ + "/.firefly/output/") + target_) + "/") + packagePath_) + "/") + ff_compiler_Syntax.ModuleKey_importName(moduleKey_)) + ".run.mjs");
|
|
907
|
+
const runFile_ = (await ff_compiler_Main.locateRunFile_$(system_, target_, moduleKey_, $task));
|
|
851
908
|
const runFilePath_ = (ff_core_String.String_contains(runFile_, "://")
|
|
852
909
|
? (await ff_core_NodeSystem.NodeSystem_pathFromUrl$(system_, runFile_, $task))
|
|
853
910
|
: (await ff_core_NodeSystem.NodeSystem_path$(system_, runFile_, $task)));
|
|
@@ -865,6 +922,16 @@ return false
|
|
|
865
922
|
}
|
|
866
923
|
}
|
|
867
924
|
|
|
925
|
+
export async function locateRunFile_$(system_, target_, moduleKey_, $task) {
|
|
926
|
+
const process_ = (await import("process"));
|
|
927
|
+
const cwd_ = process_.cwd();
|
|
928
|
+
const workingDirectory_ = ((cwd_.indexOf(":") === 1)
|
|
929
|
+
? ("file:///" + cwd_)
|
|
930
|
+
: cwd_);
|
|
931
|
+
const packagePath_ = ff_compiler_Syntax.PackagePair_groupName(moduleKey_.packagePair_, "/");
|
|
932
|
+
return (((((((workingDirectory_ + "/.firefly/output/") + target_) + "/") + packagePath_) + "/") + ff_compiler_Syntax.ModuleKey_importName(moduleKey_)) + ".run.mjs")
|
|
933
|
+
}
|
|
934
|
+
|
|
868
935
|
export async function prepareFireflyDirectory_$(path_, $task) {
|
|
869
936
|
if((!(await ff_core_Path.Path_exists$((await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$(path_, ".firefly", $task)), "output", $task)), false, false, false, $task)))) {
|
|
870
937
|
if((!(await ff_core_Path.Path_exists$((await ff_core_Path.Path_slash$(path_, ".firefly", $task)), false, false, false, $task)))) {
|
|
@@ -996,6 +1063,10 @@ if(value_a.RunCommand) {
|
|
|
996
1063
|
const z_ = value_a;
|
|
997
1064
|
return ((((("RunCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.mainPath_)) + ", ") + ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.argument_)) + ")")
|
|
998
1065
|
}
|
|
1066
|
+
if(value_a.DevelopCommand) {
|
|
1067
|
+
const z_ = value_a;
|
|
1068
|
+
return ((((("DevelopCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.mainPath_)) + ", ") + ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.argument_)) + ")")
|
|
1069
|
+
}
|
|
999
1070
|
if(value_a.BrowserCommand) {
|
|
1000
1071
|
const z_ = value_a;
|
|
1001
1072
|
return ((("BrowserCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.mainPath_)) + ")")
|
|
@@ -1023,6 +1094,10 @@ if(value_a.RunCommand) {
|
|
|
1023
1094
|
const z_ = value_a;
|
|
1024
1095
|
return ((((("RunCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.mainPath_)) + ", ") + ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.argument_)) + ")")
|
|
1025
1096
|
}
|
|
1097
|
+
if(value_a.DevelopCommand) {
|
|
1098
|
+
const z_ = value_a;
|
|
1099
|
+
return ((((("DevelopCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.mainPath_)) + ", ") + ff_core_Show.ff_core_Show_Show$ff_core_List_List(ff_core_Show.ff_core_Show_Show$ff_core_String_String).show_(z_.argument_)) + ")")
|
|
1100
|
+
}
|
|
1026
1101
|
if(value_a.BrowserCommand) {
|
|
1027
1102
|
const z_ = value_a;
|
|
1028
1103
|
return ((("BrowserCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.mainPath_)) + ")")
|
|
@@ -1071,6 +1146,11 @@ const x_ = x_a;
|
|
|
1071
1146
|
const y_ = y_a;
|
|
1072
1147
|
return ((x_.mainPath_ === y_.mainPath_) && ff_core_List.ff_core_Equal_Equal$ff_core_List_List(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.argument_, y_.argument_))
|
|
1073
1148
|
}
|
|
1149
|
+
if(x_a.DevelopCommand && y_a.DevelopCommand) {
|
|
1150
|
+
const x_ = x_a;
|
|
1151
|
+
const y_ = y_a;
|
|
1152
|
+
return ((x_.mainPath_ === y_.mainPath_) && ff_core_List.ff_core_Equal_Equal$ff_core_List_List(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.argument_, y_.argument_))
|
|
1153
|
+
}
|
|
1074
1154
|
if(x_a.BrowserCommand && y_a.BrowserCommand) {
|
|
1075
1155
|
const x_ = x_a;
|
|
1076
1156
|
const y_ = y_a;
|
|
@@ -1106,6 +1186,11 @@ const x_ = x_a;
|
|
|
1106
1186
|
const y_ = y_a;
|
|
1107
1187
|
return ((x_.mainPath_ === y_.mainPath_) && ff_core_List.ff_core_Equal_Equal$ff_core_List_List(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.argument_, y_.argument_))
|
|
1108
1188
|
}
|
|
1189
|
+
if(x_a.DevelopCommand && y_a.DevelopCommand) {
|
|
1190
|
+
const x_ = x_a;
|
|
1191
|
+
const y_ = y_a;
|
|
1192
|
+
return ((x_.mainPath_ === y_.mainPath_) && ff_core_List.ff_core_Equal_Equal$ff_core_List_List(ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String).equals_(x_.argument_, y_.argument_))
|
|
1193
|
+
}
|
|
1109
1194
|
if(x_a.BrowserCommand && y_a.BrowserCommand) {
|
|
1110
1195
|
const x_ = x_a;
|
|
1111
1196
|
const y_ = y_a;
|
|
@@ -1178,6 +1263,22 @@ return ff_core_Ordering.OrderingSame()
|
|
|
1178
1263
|
}
|
|
1179
1264
|
return
|
|
1180
1265
|
}
|
|
1266
|
+
if(x_a.DevelopCommand && y_a.DevelopCommand) {
|
|
1267
|
+
const x_ = x_a;
|
|
1268
|
+
const y_ = y_a;
|
|
1269
|
+
const mainPathOrdering_ = ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String.compare_(x_.mainPath_, y_.mainPath_);
|
|
1270
|
+
if((mainPathOrdering_ !== ff_core_Ordering.OrderingSame())) {
|
|
1271
|
+
return mainPathOrdering_
|
|
1272
|
+
} else {
|
|
1273
|
+
const argumentOrdering_ = ff_core_Ordering.ff_core_Ordering_Order$ff_core_List_List(ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String).compare_(x_.argument_, y_.argument_);
|
|
1274
|
+
if((argumentOrdering_ !== ff_core_Ordering.OrderingSame())) {
|
|
1275
|
+
return argumentOrdering_
|
|
1276
|
+
} else {
|
|
1277
|
+
return ff_core_Ordering.OrderingSame()
|
|
1278
|
+
}
|
|
1279
|
+
}
|
|
1280
|
+
return
|
|
1281
|
+
}
|
|
1181
1282
|
if(x_a.BrowserCommand && y_a.BrowserCommand) {
|
|
1182
1283
|
const x_ = x_a;
|
|
1183
1284
|
const y_ = y_a;
|
|
@@ -1236,18 +1337,21 @@ return 0
|
|
|
1236
1337
|
if(z_a.RunCommand) {
|
|
1237
1338
|
return 1
|
|
1238
1339
|
}
|
|
1239
|
-
if(z_a.
|
|
1340
|
+
if(z_a.DevelopCommand) {
|
|
1240
1341
|
return 2
|
|
1241
1342
|
}
|
|
1242
|
-
if(z_a.
|
|
1343
|
+
if(z_a.BrowserCommand) {
|
|
1243
1344
|
return 3
|
|
1244
1345
|
}
|
|
1245
|
-
if(z_a.
|
|
1346
|
+
if(z_a.BuildCommand) {
|
|
1246
1347
|
return 4
|
|
1247
1348
|
}
|
|
1248
|
-
{
|
|
1349
|
+
if(z_a.CheckCommand) {
|
|
1249
1350
|
return 5
|
|
1250
1351
|
}
|
|
1352
|
+
{
|
|
1353
|
+
return 6
|
|
1354
|
+
}
|
|
1251
1355
|
}
|
|
1252
1356
|
return ff_core_Ordering.ff_core_Ordering_Order$ff_core_Int_Int.compare_(number_(x_), number_(y_))
|
|
1253
1357
|
}
|
|
@@ -1274,6 +1378,22 @@ return ff_core_Ordering.OrderingSame()
|
|
|
1274
1378
|
}
|
|
1275
1379
|
return
|
|
1276
1380
|
}
|
|
1381
|
+
if(x_a.DevelopCommand && y_a.DevelopCommand) {
|
|
1382
|
+
const x_ = x_a;
|
|
1383
|
+
const y_ = y_a;
|
|
1384
|
+
const mainPathOrdering_ = ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String.compare_(x_.mainPath_, y_.mainPath_);
|
|
1385
|
+
if((mainPathOrdering_ !== ff_core_Ordering.OrderingSame())) {
|
|
1386
|
+
return mainPathOrdering_
|
|
1387
|
+
} else {
|
|
1388
|
+
const argumentOrdering_ = ff_core_Ordering.ff_core_Ordering_Order$ff_core_List_List(ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String).compare_(x_.argument_, y_.argument_);
|
|
1389
|
+
if((argumentOrdering_ !== ff_core_Ordering.OrderingSame())) {
|
|
1390
|
+
return argumentOrdering_
|
|
1391
|
+
} else {
|
|
1392
|
+
return ff_core_Ordering.OrderingSame()
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
return
|
|
1396
|
+
}
|
|
1277
1397
|
if(x_a.BrowserCommand && y_a.BrowserCommand) {
|
|
1278
1398
|
const x_ = x_a;
|
|
1279
1399
|
const y_ = y_a;
|
|
@@ -1332,18 +1452,21 @@ return 0
|
|
|
1332
1452
|
if(z_a.RunCommand) {
|
|
1333
1453
|
return 1
|
|
1334
1454
|
}
|
|
1335
|
-
if(z_a.
|
|
1455
|
+
if(z_a.DevelopCommand) {
|
|
1336
1456
|
return 2
|
|
1337
1457
|
}
|
|
1338
|
-
if(z_a.
|
|
1458
|
+
if(z_a.BrowserCommand) {
|
|
1339
1459
|
return 3
|
|
1340
1460
|
}
|
|
1341
|
-
if(z_a.
|
|
1461
|
+
if(z_a.BuildCommand) {
|
|
1342
1462
|
return 4
|
|
1343
1463
|
}
|
|
1344
|
-
{
|
|
1464
|
+
if(z_a.CheckCommand) {
|
|
1345
1465
|
return 5
|
|
1346
1466
|
}
|
|
1467
|
+
{
|
|
1468
|
+
return 6
|
|
1469
|
+
}
|
|
1347
1470
|
}
|
|
1348
1471
|
return ff_core_Ordering.ff_core_Ordering_Order$ff_core_Int_Int.compare_(number_(x_), number_(y_))
|
|
1349
1472
|
}
|
|
@@ -1407,12 +1530,22 @@ ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.ser
|
|
|
1407
1530
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).serializeUsing_(serialization_, v_.argument_)
|
|
1408
1531
|
return
|
|
1409
1532
|
}
|
|
1410
|
-
if(value_a.
|
|
1533
|
+
if(value_a.DevelopCommand) {
|
|
1411
1534
|
const v_ = value_a;
|
|
1412
1535
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1413
1536
|
ff_core_Serializable.Serialization_autoResize(serialization_, 1);
|
|
1414
1537
|
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 2);
|
|
1415
1538
|
serialization_.offset_ += 1;
|
|
1539
|
+
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.mainPath_);
|
|
1540
|
+
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).serializeUsing_(serialization_, v_.argument_)
|
|
1541
|
+
return
|
|
1542
|
+
}
|
|
1543
|
+
if(value_a.BrowserCommand) {
|
|
1544
|
+
const v_ = value_a;
|
|
1545
|
+
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1546
|
+
ff_core_Serializable.Serialization_autoResize(serialization_, 1);
|
|
1547
|
+
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 3);
|
|
1548
|
+
serialization_.offset_ += 1;
|
|
1416
1549
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.mainPath_)
|
|
1417
1550
|
return
|
|
1418
1551
|
}
|
|
@@ -1420,7 +1553,7 @@ if(value_a.BuildCommand) {
|
|
|
1420
1553
|
const v_ = value_a;
|
|
1421
1554
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
1422
1555
|
ff_core_Serializable.Serialization_autoResize(serialization_, 1);
|
|
1423
|
-
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_,
|
|
1556
|
+
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 4);
|
|
1424
1557
|
serialization_.offset_ += 1;
|
|
1425
1558
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.mainPath_)
|
|
1426
1559
|
return
|
|
@@ -1429,7 +1562,7 @@ if(value_a.CheckCommand) {
|
|
|
1429
1562
|
const v_ = value_a;
|
|
1430
1563
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
1431
1564
|
ff_core_Serializable.Serialization_autoResize(serialization_, 1);
|
|
1432
|
-
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_,
|
|
1565
|
+
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 5);
|
|
1433
1566
|
serialization_.offset_ += 1;
|
|
1434
1567
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.filePath_)
|
|
1435
1568
|
return
|
|
@@ -1438,7 +1571,7 @@ return
|
|
|
1438
1571
|
const v_ = value_a;
|
|
1439
1572
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1440
1573
|
ff_core_Serializable.Serialization_autoResize(serialization_, 1);
|
|
1441
|
-
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_,
|
|
1574
|
+
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 6);
|
|
1442
1575
|
serialization_.offset_ += 1;
|
|
1443
1576
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.outPath_);
|
|
1444
1577
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).serializeUsing_(serialization_, v_.filePaths_)
|
|
@@ -1460,17 +1593,21 @@ return ff_compiler_Main.RunCommand(ff_core_Serializable.ff_core_Serializable_Ser
|
|
|
1460
1593
|
}
|
|
1461
1594
|
if(_1 === 2) {
|
|
1462
1595
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1463
|
-
return ff_compiler_Main.
|
|
1596
|
+
return ff_compiler_Main.DevelopCommand(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_))
|
|
1464
1597
|
}
|
|
1465
1598
|
if(_1 === 3) {
|
|
1599
|
+
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1600
|
+
return ff_compiler_Main.BrowserCommand(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_))
|
|
1601
|
+
}
|
|
1602
|
+
if(_1 === 4) {
|
|
1466
1603
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
1467
1604
|
return ff_compiler_Main.BuildCommand(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_))
|
|
1468
1605
|
}
|
|
1469
|
-
if(_1 ===
|
|
1606
|
+
if(_1 === 5) {
|
|
1470
1607
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
1471
1608
|
return ff_compiler_Main.CheckCommand(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_))
|
|
1472
1609
|
}
|
|
1473
|
-
if(_1 ===
|
|
1610
|
+
if(_1 === 6) {
|
|
1474
1611
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1475
1612
|
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_))
|
|
1476
1613
|
}
|
|
@@ -1500,12 +1637,22 @@ ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.ser
|
|
|
1500
1637
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).serializeUsing_(serialization_, v_.argument_)
|
|
1501
1638
|
return
|
|
1502
1639
|
}
|
|
1503
|
-
if(value_a.
|
|
1640
|
+
if(value_a.DevelopCommand) {
|
|
1504
1641
|
const v_ = value_a;
|
|
1505
1642
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1506
1643
|
ff_core_Serializable.Serialization_autoResize(serialization_, 1);
|
|
1507
1644
|
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 2);
|
|
1508
1645
|
serialization_.offset_ += 1;
|
|
1646
|
+
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.mainPath_);
|
|
1647
|
+
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).serializeUsing_(serialization_, v_.argument_)
|
|
1648
|
+
return
|
|
1649
|
+
}
|
|
1650
|
+
if(value_a.BrowserCommand) {
|
|
1651
|
+
const v_ = value_a;
|
|
1652
|
+
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1653
|
+
ff_core_Serializable.Serialization_autoResize(serialization_, 1);
|
|
1654
|
+
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 3);
|
|
1655
|
+
serialization_.offset_ += 1;
|
|
1509
1656
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.mainPath_)
|
|
1510
1657
|
return
|
|
1511
1658
|
}
|
|
@@ -1513,7 +1660,7 @@ if(value_a.BuildCommand) {
|
|
|
1513
1660
|
const v_ = value_a;
|
|
1514
1661
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
1515
1662
|
ff_core_Serializable.Serialization_autoResize(serialization_, 1);
|
|
1516
|
-
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_,
|
|
1663
|
+
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 4);
|
|
1517
1664
|
serialization_.offset_ += 1;
|
|
1518
1665
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.mainPath_)
|
|
1519
1666
|
return
|
|
@@ -1522,7 +1669,7 @@ if(value_a.CheckCommand) {
|
|
|
1522
1669
|
const v_ = value_a;
|
|
1523
1670
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
1524
1671
|
ff_core_Serializable.Serialization_autoResize(serialization_, 1);
|
|
1525
|
-
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_,
|
|
1672
|
+
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 5);
|
|
1526
1673
|
serialization_.offset_ += 1;
|
|
1527
1674
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.filePath_)
|
|
1528
1675
|
return
|
|
@@ -1531,7 +1678,7 @@ return
|
|
|
1531
1678
|
const v_ = value_a;
|
|
1532
1679
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1533
1680
|
ff_core_Serializable.Serialization_autoResize(serialization_, 1);
|
|
1534
|
-
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_,
|
|
1681
|
+
ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 6);
|
|
1535
1682
|
serialization_.offset_ += 1;
|
|
1536
1683
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.outPath_);
|
|
1537
1684
|
ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_List_List(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String).serializeUsing_(serialization_, v_.filePaths_)
|
|
@@ -1553,17 +1700,21 @@ return ff_compiler_Main.RunCommand(ff_core_Serializable.ff_core_Serializable_Ser
|
|
|
1553
1700
|
}
|
|
1554
1701
|
if(_1 === 2) {
|
|
1555
1702
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1556
|
-
return ff_compiler_Main.
|
|
1703
|
+
return ff_compiler_Main.DevelopCommand(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_))
|
|
1557
1704
|
}
|
|
1558
1705
|
if(_1 === 3) {
|
|
1706
|
+
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1707
|
+
return ff_compiler_Main.BrowserCommand(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_))
|
|
1708
|
+
}
|
|
1709
|
+
if(_1 === 4) {
|
|
1559
1710
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
1560
1711
|
return ff_compiler_Main.BuildCommand(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_))
|
|
1561
1712
|
}
|
|
1562
|
-
if(_1 ===
|
|
1713
|
+
if(_1 === 5) {
|
|
1563
1714
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
|
|
1564
1715
|
return ff_compiler_Main.CheckCommand(ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.deserializeUsing_(serialization_))
|
|
1565
1716
|
}
|
|
1566
|
-
if(_1 ===
|
|
1717
|
+
if(_1 === 6) {
|
|
1567
1718
|
serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 31), 0);
|
|
1568
1719
|
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_))
|
|
1569
1720
|
}
|