Installations
npm install @robertaboukhalil/aioli
Developer Guide
Typescript
No
Module System
CommonJS
Node Version
13.11.0
NPM Version
6.13.7
Score
71.6
Supply Chain
84.1
Quality
75.4
Maintenance
100
Vulnerability
100
License
Releases
Contributors
Unable to fetch Contributors
Languages
JavaScript (96.41%)
HTML (3.59%)
Developer
robertaboukhalil
Download Statistics
Total Downloads
2,318
Last Day
1
Last Week
2
Last Month
31
Last Year
167
GitHub Statistics
111 Stars
260 Commits
10 Forks
4 Watching
3 Branches
3 Contributors
Package Meta Information
Latest Version
1.1.0
Package Id
@robertaboukhalil/aioli@1.1.0
Unpacked Size
19.51 kB
Size
6.20 kB
File Count
5
NPM Version
6.13.7
Node Version
13.11.0
Total Downloads
Cumulative downloads
Total Downloads
2,318
Last day
0%
1
Compared to previous day
Last week
-84.6%
2
Compared to previous week
Last month
933.3%
31
Compared to previous month
Last year
-51.9%
167
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
No dependencies detected.
Aioli
Aioli is a framework for building fast genomics web tools using WebAssembly and WebWorkers.
Tools that use Aioli
Getting Started
Here is a simple example of Aioli in action running the genomics tool samtools
on a user-provided file:
1<input id="myfile" type="file" multiple> 2<script src="aioli.js"></script> 3 4<script> 5let samtools = new Aioli("samtools/1.10"); 6 7// Initialize samtools and output the version 8samtools 9 .init() 10 .then(() => samtools.exec("--version")) 11 .then(d => console.log(d.stdout)); 12 13// When a user selects a .sam file from their computer, 14// run `samtools view -q20` on the file 15function loadFile(event) 16{ 17 Aioli 18 // First mount the file 19 .mount(event.target.files[0]) 20 // Once it's mounted, run samtools view 21 .then(file => samtools.exec(`view -q20 ${file.path}`)) 22 // Capture output 23 .then(d => console.log(d.stdout)); 24} 25document.getElementById("myfile").addEventListener("change", loadFile, false); 26</script>
Background info
What is WebAssembly?
WebAssembly is a very fast, low-level, compiled binary instruction format that runs in all major browsers at near native speeds.
What is a WebWorker?
WebWorkers allow you to run JavaScript in the browser in a background thread, which keeps the browser responsive.
Compiling into WebAssembly
- Download the Emscriptem SDK
- Follow the Emscriptem tutorial for details on how to compile C/C++ files into
app.js
andapp.wasm
. - Use
template.html
as a starting point for building your app. Built on top of Aioli, this simple app allows users to specify a local file to parse (URLs + drag & drop supported), and will mount that file to a virtual file system inside a WebWorker, sample that file randomly, run a WebAssembly command on each chunk inside the WebWorker, track its output, and display progress throughout. - You can install Aioli as a JavaScript package through npm:
npm install @robertaboukhalil/aioli
.
No vulnerabilities found.
Reason
no dangerous workflow patterns detected
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
Reason
binaries present in source code
Details
- Warn: binary detected: tests/data/bedtools/bedtools.wasm:1
- Warn: binary detected: tests/data/cat/cat.wasm:1
- Warn: binary detected: tests/data/samtools/samtools.wasm:1
- Warn: binary detected: tests/data/seqtk/seqtk.wasm:1
Reason
Found 4/10 approved changesets -- score normalized to 4
Reason
6 existing vulnerabilities detected
Details
- Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6
- Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275
- Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55
- Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw
- Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3
- Warn: Project is vulnerable to: GHSA-vg6x-rcgg-rjx6
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: no topLevel permission defined: .github/workflows/tests.yml:1
- Info: no jobLevel write permissions found
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/tests.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/biowasm/aioli/tests.yml/main?enable=pin
- Warn: npmCommand not pinned by hash: .github/workflows/tests.yml:22
- Info: 0 out of 1 GitHub-owned GitHubAction dependencies pinned
- Info: 0 out of 1 npmCommand dependencies pinned
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
branch protection not enabled on development/release branches
Details
- Warn: branch protection not enabled for branch 'main'
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 24 are checked with a SAST tool
Score
2.9
/10
Last Scanned on 2025-01-27
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More