firefly-compiler 0.4.40 → 0.4.48
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/.hintrc +4 -4
- package/.vscode/settings.json +4 -4
- package/bin/Release.ff +136 -71
- package/bin/firefly.mjs +1 -1
- package/compiler/Builder.ff +257 -257
- package/compiler/Compiler.ff +227 -227
- package/compiler/Dependencies.ff +186 -186
- package/compiler/DependencyLock.ff +17 -17
- package/compiler/JsEmitter.ff +946 -946
- package/compiler/LspHook.ff +202 -202
- package/compiler/ModuleCache.ff +178 -178
- package/compiler/Workspace.ff +88 -88
- package/core/.firefly/include/package-lock.json +394 -394
- package/core/.firefly/include/package.json +5 -5
- package/core/.firefly/include/prepare.sh +1 -1
- package/core/.firefly/package.ff +2 -2
- package/core/Array.ff +265 -265
- package/core/Atomic.ff +64 -64
- package/core/Box.ff +7 -7
- package/core/BrowserSystem.ff +40 -40
- package/core/BuildSystem.ff +148 -148
- package/core/Crypto.ff +96 -102
- package/core/Equal.ff +36 -36
- package/core/HttpClient.ff +87 -87
- package/core/JsSystem.ff +69 -69
- package/core/Json.ff +434 -434
- package/core/List.ff +486 -415
- package/core/Lock.ff +144 -144
- package/core/NodeSystem.ff +189 -189
- package/core/Ordering.ff +161 -161
- package/core/Path.ff +401 -401
- package/core/Random.ff +134 -134
- package/core/RbMap.ff +216 -216
- package/core/Show.ff +43 -43
- package/core/SourceLocation.ff +68 -68
- package/core/Task.ff +141 -141
- package/experimental/benchmarks/ListGrab.ff +23 -23
- package/experimental/benchmarks/ListGrab.java +55 -55
- package/experimental/benchmarks/Pyrotek45.ff +30 -30
- package/experimental/benchmarks/Pyrotek45.java +64 -64
- package/experimental/bidirectional/Bidi.ff +88 -88
- package/experimental/random/Index.ff +53 -53
- package/experimental/random/Process.ff +120 -120
- package/experimental/random/Scrape.ff +51 -51
- package/experimental/random/Symbols.ff +73 -73
- package/experimental/random/Tensor.ff +52 -52
- package/experimental/random/Units.ff +36 -36
- package/experimental/s3/S3TestAuthorizationHeader.ff +38 -38
- package/experimental/s3/S3TestPut.ff +15 -15
- package/experimental/tests/TestJson.ff +26 -26
- package/firefly.sh +0 -0
- package/fireflysite/Main.ff +13 -13
- package/lsp/.firefly/package.ff +1 -1
- package/lsp/CompletionHandler.ff +808 -811
- package/lsp/Handler.ff +714 -714
- package/lsp/HoverHandler.ff +79 -79
- package/lsp/LanguageServer.ff +272 -272
- package/lsp/SignatureHelpHandler.ff +55 -55
- package/lsp/SymbolHandler.ff +181 -181
- package/lsp/TestReferences.ff +16 -16
- package/lsp/TestReferencesCase.ff +7 -7
- package/lsp/stderr.txt +1 -1
- package/lsp/stdin.txt +10 -10
- package/lsp/stdout.txt +40 -40
- package/lux/.firefly/package.ff +1 -1
- package/lux/Css.ff +648 -648
- package/lux/CssTest.ff +48 -48
- package/lux/Lux.ff +487 -487
- package/lux/LuxEvent.ff +116 -116
- package/lux/Main.ff +128 -128
- package/lux/Main2.ff +144 -144
- package/output/js/ff/compiler/Builder.mjs +43 -43
- package/output/js/ff/compiler/Dependencies.mjs +3 -3
- package/output/js/ff/core/Array.mjs +59 -59
- package/output/js/ff/core/Atomic.mjs +36 -36
- package/output/js/ff/core/BrowserSystem.mjs +11 -11
- package/output/js/ff/core/BuildSystem.mjs +30 -30
- package/output/js/ff/core/Crypto.mjs +58 -62
- package/output/js/ff/core/HttpClient.mjs +24 -24
- package/output/js/ff/core/Json.mjs +147 -147
- package/output/js/ff/core/List.mjs +196 -50
- package/output/js/ff/core/Lock.mjs +97 -97
- package/output/js/ff/core/NodeSystem.mjs +77 -77
- package/output/js/ff/core/Ordering.mjs +8 -8
- package/output/js/ff/core/Path.mjs +231 -231
- package/output/js/ff/core/Random.mjs +56 -56
- package/output/js/ff/core/Task.mjs +31 -31
- package/package.json +29 -29
- package/rpc/.firefly/package.ff +1 -1
- package/rpc/Rpc.ff +69 -69
- package/s3/.firefly/package.ff +1 -1
- package/s3/S3.ff +93 -93
- package/unsafejs/UnsafeJs.ff +19 -19
- package/vscode/LICENSE.txt +21 -21
- package/vscode/Prepublish.ff +15 -15
- package/vscode/README.md +16 -16
- package/vscode/client/package.json +22 -22
- package/vscode/client/src/extension.ts +104 -104
- package/vscode/icons/firefly-icon.svg +10 -10
- package/vscode/language-configuration.json +61 -61
- package/vscode/package-lock.json +3623 -3623
- package/vscode/package.json +160 -160
- package/vscode/snippets.json +241 -241
- package/webserver/.firefly/include/package-lock.json +16 -16
- package/webserver/.firefly/include/package.json +5 -5
- package/webserver/.firefly/package.ff +2 -2
- package/webserver/WebServer.ff +685 -685
- package/websocket/.firefly/package.ff +1 -1
- package/websocket/WebSocket.ff +131 -131
|
@@ -132,11 +132,11 @@ return system_.assets_
|
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
export async function internalListDirectoryWithoutOpendir_$(system_, path_, $task) {
|
|
135
|
-
|
|
136
|
-
const fsPromises = import$0
|
|
137
|
-
const path = import$1
|
|
138
|
-
let files = await fsPromises.readdir(path_)
|
|
139
|
-
return files.map(file => path.join(path_, file))
|
|
135
|
+
|
|
136
|
+
const fsPromises = import$0
|
|
137
|
+
const path = import$1
|
|
138
|
+
let files = await fsPromises.readdir(path_)
|
|
139
|
+
return files.map(file => path.join(path_, file))
|
|
140
140
|
|
|
141
141
|
}
|
|
142
142
|
|
|
@@ -273,16 +273,16 @@ return (await ff_core_NodeSystem.internalAssets_$(self_, $task))
|
|
|
273
273
|
}
|
|
274
274
|
|
|
275
275
|
export async function NodeSystem_path$(self_, relativePath_, $task) {
|
|
276
|
-
|
|
277
|
-
const path = import$1
|
|
278
|
-
return path.resolve(relativePath_)
|
|
276
|
+
|
|
277
|
+
const path = import$1
|
|
278
|
+
return path.resolve(relativePath_)
|
|
279
279
|
|
|
280
280
|
}
|
|
281
281
|
|
|
282
282
|
export async function NodeSystem_pathFromUrl$(self_, url_, $task) {
|
|
283
|
-
|
|
284
|
-
const url = import$2;
|
|
285
|
-
return url.fileURLToPath(new URL(url_));
|
|
283
|
+
|
|
284
|
+
const url = import$2;
|
|
285
|
+
return url.fileURLToPath(new URL(url_));
|
|
286
286
|
|
|
287
287
|
}
|
|
288
288
|
|
|
@@ -307,8 +307,8 @@ process.exit(exitCode_)
|
|
|
307
307
|
}
|
|
308
308
|
|
|
309
309
|
export async function NodeSystem_readStream$(self_, $task) {
|
|
310
|
-
|
|
311
|
-
return ff_core_Path.internalReadStream_$(() => process.stdin)
|
|
310
|
+
|
|
311
|
+
return ff_core_Path.internalReadStream_$(() => process.stdin)
|
|
312
312
|
|
|
313
313
|
}
|
|
314
314
|
|
|
@@ -349,74 +349,74 @@ export async function NodeSystem_writeErrorLine$(self_, text_, $task) {
|
|
|
349
349
|
}
|
|
350
350
|
|
|
351
351
|
export async function NodeSystem_environment$(self_, $task) {
|
|
352
|
-
|
|
353
|
-
const result = [];
|
|
354
|
-
for(const key in process.env) {
|
|
355
|
-
result.push(ff_core_Pair.Pair(key, process.env[key]));
|
|
356
|
-
}
|
|
357
|
-
return ff_core_List.List_toMap(result, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String);
|
|
352
|
+
|
|
353
|
+
const result = [];
|
|
354
|
+
for(const key in process.env) {
|
|
355
|
+
result.push(ff_core_Pair.Pair(key, process.env[key]));
|
|
356
|
+
}
|
|
357
|
+
return ff_core_List.List_toMap(result, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String);
|
|
358
358
|
|
|
359
359
|
}
|
|
360
360
|
|
|
361
361
|
export async function NodeSystem_execute$(self_, command_, arguments_, standardIn_ = ff_core_Buffer.new_(0), workingDirectory_ = ff_core_Option.None(), environment_ = ff_core_Option.None(), maxBuffer_ = 16777216, killSignal_ = 9, $task) {
|
|
362
|
-
|
|
363
|
-
const childProcess = import$3;
|
|
364
|
-
const environment = environment_.value_ !== void 0 ? {} : process.env;
|
|
365
|
-
if(environment_.value_ !== void 0) {
|
|
366
|
-
ff_core_Map.Map_each(
|
|
367
|
-
environment_.value_,
|
|
368
|
-
(k, v) => environment[k] = v,
|
|
369
|
-
ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String
|
|
370
|
-
);
|
|
371
|
-
}
|
|
372
|
-
const newProcess = childProcess.spawn(command_, arguments_, {
|
|
373
|
-
cwd: workingDirectory_.value_,
|
|
374
|
-
windowsHide: true,
|
|
375
|
-
signal: $task.controller.signal,
|
|
376
|
-
killSignal: killSignal_,
|
|
377
|
-
env: environment,
|
|
378
|
-
});
|
|
379
|
-
|
|
380
|
-
let size = 0;
|
|
381
|
-
const out = [];
|
|
382
|
-
const err = [];
|
|
383
|
-
|
|
384
|
-
newProcess.stdout.on('data', (data) => {
|
|
385
|
-
if(size > maxBuffer_) return;
|
|
386
|
-
size += data.byteLength;
|
|
387
|
-
if(size > maxBuffer_) newProcess.kill(killSignal_);
|
|
388
|
-
else out.push(data);
|
|
389
|
-
});
|
|
390
|
-
|
|
391
|
-
newProcess.stderr.on('data', (data) => {
|
|
392
|
-
if(size > maxBuffer_) return;
|
|
393
|
-
size += data.byteLength;
|
|
394
|
-
if(size > maxBuffer_) newProcess.kill(killSignal_);
|
|
395
|
-
else err.push(data);
|
|
396
|
-
});
|
|
397
|
-
|
|
398
|
-
return await new Promise((resolve, reject) => {
|
|
399
|
-
if(standardIn_.byteLength !== 0) {
|
|
400
|
-
newProcess.stdin.write(standardIn_);
|
|
401
|
-
}
|
|
402
|
-
newProcess.stdin.end();
|
|
403
|
-
newProcess.on('error', error => {
|
|
404
|
-
if(size > maxBuffer_) {
|
|
405
|
-
reject(internalProcessError_("maxBuffer exceeded"));
|
|
406
|
-
} else {
|
|
407
|
-
reject(internalProcessError_(error.message));
|
|
408
|
-
}
|
|
409
|
-
});
|
|
410
|
-
newProcess.on('close', code => {
|
|
411
|
-
const o = Buffer.concat(out);
|
|
412
|
-
const e = Buffer.concat(err);
|
|
413
|
-
resolve(ProcessResult(
|
|
414
|
-
code,
|
|
415
|
-
new DataView(o.buffer, o.byteOffset, o.byteLength),
|
|
416
|
-
new DataView(e.buffer, e.byteOffset, e.byteLength),
|
|
417
|
-
));
|
|
418
|
-
});
|
|
419
|
-
});
|
|
362
|
+
|
|
363
|
+
const childProcess = import$3;
|
|
364
|
+
const environment = environment_.value_ !== void 0 ? {} : process.env;
|
|
365
|
+
if(environment_.value_ !== void 0) {
|
|
366
|
+
ff_core_Map.Map_each(
|
|
367
|
+
environment_.value_,
|
|
368
|
+
(k, v) => environment[k] = v,
|
|
369
|
+
ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String
|
|
370
|
+
);
|
|
371
|
+
}
|
|
372
|
+
const newProcess = childProcess.spawn(command_, arguments_, {
|
|
373
|
+
cwd: workingDirectory_.value_,
|
|
374
|
+
windowsHide: true,
|
|
375
|
+
signal: $task.controller.signal,
|
|
376
|
+
killSignal: killSignal_,
|
|
377
|
+
env: environment,
|
|
378
|
+
});
|
|
379
|
+
|
|
380
|
+
let size = 0;
|
|
381
|
+
const out = [];
|
|
382
|
+
const err = [];
|
|
383
|
+
|
|
384
|
+
newProcess.stdout.on('data', (data) => {
|
|
385
|
+
if(size > maxBuffer_) return;
|
|
386
|
+
size += data.byteLength;
|
|
387
|
+
if(size > maxBuffer_) newProcess.kill(killSignal_);
|
|
388
|
+
else out.push(data);
|
|
389
|
+
});
|
|
390
|
+
|
|
391
|
+
newProcess.stderr.on('data', (data) => {
|
|
392
|
+
if(size > maxBuffer_) return;
|
|
393
|
+
size += data.byteLength;
|
|
394
|
+
if(size > maxBuffer_) newProcess.kill(killSignal_);
|
|
395
|
+
else err.push(data);
|
|
396
|
+
});
|
|
397
|
+
|
|
398
|
+
return await new Promise((resolve, reject) => {
|
|
399
|
+
if(standardIn_.byteLength !== 0) {
|
|
400
|
+
newProcess.stdin.write(standardIn_);
|
|
401
|
+
}
|
|
402
|
+
newProcess.stdin.end();
|
|
403
|
+
newProcess.on('error', error => {
|
|
404
|
+
if(size > maxBuffer_) {
|
|
405
|
+
reject(internalProcessError_("maxBuffer exceeded"));
|
|
406
|
+
} else {
|
|
407
|
+
reject(internalProcessError_(error.message));
|
|
408
|
+
}
|
|
409
|
+
});
|
|
410
|
+
newProcess.on('close', code => {
|
|
411
|
+
const o = Buffer.concat(out);
|
|
412
|
+
const e = Buffer.concat(err);
|
|
413
|
+
resolve(ProcessResult(
|
|
414
|
+
code,
|
|
415
|
+
new DataView(o.buffer, o.byteOffset, o.byteLength),
|
|
416
|
+
new DataView(e.buffer, e.byteOffset, e.byteLength),
|
|
417
|
+
));
|
|
418
|
+
});
|
|
419
|
+
});
|
|
420
420
|
|
|
421
421
|
}
|
|
422
422
|
|
|
@@ -413,14 +413,14 @@ return ff_core_Ordering.fromFloat_((x_ - y_))
|
|
|
413
413
|
|
|
414
414
|
export const ff_core_Ordering_Order$ff_core_String_String = {
|
|
415
415
|
compare_(x_, y_) {
|
|
416
|
-
|
|
417
|
-
if(x_ < y_) {
|
|
418
|
-
return ff_core_Ordering.OrderingBefore()
|
|
419
|
-
} else if(x_ > y_) {
|
|
420
|
-
return ff_core_Ordering.OrderingAfter()
|
|
421
|
-
} else {
|
|
422
|
-
return ff_core_Ordering.OrderingSame()
|
|
423
|
-
}
|
|
416
|
+
|
|
417
|
+
if(x_ < y_) {
|
|
418
|
+
return ff_core_Ordering.OrderingBefore()
|
|
419
|
+
} else if(x_ > y_) {
|
|
420
|
+
return ff_core_Ordering.OrderingAfter()
|
|
421
|
+
} else {
|
|
422
|
+
return ff_core_Ordering.OrderingSame()
|
|
423
|
+
}
|
|
424
424
|
|
|
425
425
|
},
|
|
426
426
|
async compare_$(x_, y_, $task) {
|