Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
6fda6b8
Update README.md
willemneal Apr 5, 2019
4d560b4
Cleaning up and Fixing tsconfigs
willemneal Apr 5, 2019
99a81ed
Close to having compiler that adds other dependencies
willemneal Apr 5, 2019
5a8ecf1
Updated types
willemneal Apr 5, 2019
2945b5c
Added Readmes
willemneal Apr 8, 2019
b27a251
Removed submodule packages/wasa
willemneal Apr 8, 2019
9f88c50
Publish
willemneal Apr 8, 2019
feef85b
lockfiles
willemneal Apr 8, 2019
5b81020
Updating Dependencies
willemneal Apr 8, 2019
ae1a684
More updating Deps
willemneal Apr 8, 2019
b4509c9
Still at it
willemneal Apr 8, 2019
c3355e3
Getting Complier working again
willemneal Apr 9, 2019
a87efca
Fixing example compile issues
willemneal Apr 9, 2019
67ae3b0
Added lerna scripts
willemneal Apr 9, 2019
81c5fec
Added compiler test
willemneal Apr 9, 2019
e113043
Clean up old artifacts
willemneal Apr 10, 2019
1142149
Update README.md
willemneal Apr 10, 2019
68454da
Fixes #8 - @wasmos/kernel
willemneal Apr 10, 2019
13e4e03
Clean up
willemneal Apr 10, 2019
6f84c71
Added tests
willemneal Apr 10, 2019
5f84a71
Passes
willemneal Apr 10, 2019
5d11965
Linking Top level Binaries
Apr 10, 2019
b1df901
Added tests
willemneal Apr 10, 2019
9a91f52
Passes
willemneal Apr 10, 2019
bf37a7a
Merge remote-tracking branch 'origin/as-node' into as-node
Apr 11, 2019
c03d6c5
saving ldev
willemneal Apr 11, 2019
1f6ba3f
Last big redesign
willemneal Apr 11, 2019
932ab89
Added Library linking
willemneal Apr 12, 2019
a92b9ed
Added wasa
willemneal Apr 12, 2019
89c1312
as-node tests
willemneal Apr 12, 2019
01d52c4
Merge remote-tracking branch 'origin/master' into kernel
willemneal Apr 12, 2019
90ed9dc
Merge pull request #12 from WebAssemblyOS/kernel
willemneal Apr 12, 2019
5439b1b
Change typescript imports to use `/src`
willemneal Apr 12, 2019
e83766d
Work disappeared
willemneal Apr 12, 2019
79c5dfc
clean up output
willemneal Apr 12, 2019
bc31eb7
Merge pull request #15 from WebAssemblyOS/kernel
willemneal Apr 12, 2019
5a3ccaa
Create CODE_OF_CONDUCT.md
willemneal Apr 13, 2019
92252b6
Wasmos/kernel (#22)
willemneal Apr 15, 2019
6f70a56
Trying to pass tests with dependencies
willemneal Apr 17, 2019
33c5004
comma in json
willemneal Apr 17, 2019
032e836
Adding lock files
willemneal Apr 17, 2019
03316a5
Suppressed type error from jest
willemneal Apr 18, 2019
d6ccec1
Fixed Typing issues and tests pass
willemneal Apr 18, 2019
ded2ca3
Check type after building...
willemneal Apr 18, 2019
86f2e08
Fix typing bugs
willemneal Apr 18, 2019
0d37738
adding the lockfiles
Apr 18, 2019
9e56dd5
Adding as-pect tests
willemneal Apr 18, 2019
e3b0f26
Created UTF8 namespace
willemneal Apr 19, 2019
58c7479
Added Default Env and test
willemneal Apr 19, 2019
435e411
Updated tsconfig files.
willemneal Apr 19, 2019
ab376bb
Wasmos/asc (#26)
willemneal Apr 19, 2019
f782eec
run tests twice
willemneal Apr 19, 2019
7dacdfe
Merge branch 'dev-random' into dev-kernel
willemneal Apr 19, 2019
8a22ece
Merge pull request #27 from WebAssemblyOS/dev-kernel
willemneal Apr 19, 2019
ba4102f
fix tsconfig
Apr 19, 2019
b25799b
Merge pull request #30 from gwangjincho/dev-ash
willemneal Apr 19, 2019
c80679d
Added Mock FileSystem
willemneal Apr 23, 2019
6f5d3ca
Fix build and added as-pect to travis
willemneal Apr 23, 2019
3195ce2
fix testing invocation
willemneal Apr 23, 2019
b2b7a3f
Updated Dependencies
willemneal Apr 23, 2019
9fdd530
Merge pull request #34 from WebAssemblyOS/dev-assemblyscript
willemneal Apr 23, 2019
7c09681
Finally fixing typescript for tooling
willemneal Apr 24, 2019
4c776f1
Fix asp tests
willemneal Apr 24, 2019
f57e6d9
[travis skip]
willemneal Apr 24, 2019
a75a824
adding lockfile
willemneal Apr 24, 2019
a45a662
Fix Wasa Types file
willemneal Apr 24, 2019
9289357
Types again
willemneal Apr 24, 2019
5126eab
Merge pull request #35 from WebAssemblyOS/dev-assemblyscript
willemneal Apr 24, 2019
34ac33d
fixes #36
willemneal Apr 24, 2019
6c8b5df
More documentation
willemneal Apr 24, 2019
88d927a
Merge pull request #38 from WebAssemblyOS/master
willemneal Apr 24, 2019
ccac3dc
Merge pull request #39 from WebAssemblyOS/dev-echo
willemneal Apr 24, 2019
9cbf12e
fixes #40
willemneal Apr 24, 2019
fb645f8
Merge pull request #41 from WebAssemblyOS/dev-echo
willemneal Apr 24, 2019
eaa8394
Merge pull request #42 from WebAssemblyOS/wasmos/ash
willemneal Apr 24, 2019
31629ae
Added ReadLine
willemneal Apr 26, 2019
6e2bacd
Merge pull request #47 from WebAssemblyOS/dev-fs
willemneal Apr 26, 2019
64e97f7
Improving fs
willemneal Apr 26, 2019
b776fa1
Pass tests again
willemneal May 3, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ node_modules/
coverage/

packages/**/dist/

lerna-debug\.log
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

3 changes: 3 additions & 0 deletions .travis.yml.bk → .travis.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
language: node_js
node_js:
- "11"

script:
- npm run ci
73 changes: 71 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,80 @@
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Attach to Remote",
"address": "127.0.0.1",
"port": 9229,
"localRoot": "${workspaceFolder}",
"remoteRoot": "Absolute path to the remote directory containing the program"
},
{
"type": "node",
"request": "launch",
"name": "Launch via NPM",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"debug"
],
"port": 9229
},
{
"type": "node",
"request": "launch",
"name": "AssemblyScript",
"args": [
"${workspaceFolder}/packages/assemblyscript/bin/wasm-asc.ts",
"echo.ts"
],
"runtimeArgs": [
"-r",
"ts-node/register",
"--inspect-brk"
],
"cwd": "${workspaceFolder}/packages/assemblyscript"
},
{
"type": "node",
"request": "attach",
"name": "Attach",
"port": 9229
}
},
{
"name": "Jest debug AssemblyScript",
"type": "node",
"request": "launch",
"address": "localhost",
"protocol": "inspector",
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/lerna",
"runtimeArgs": [
"exec",
"--scope",
"assemblyscript",
"--",
"node"
],
"args": [
"${workspaceRoot}/node_modules/jest/bin/jest.js",
"--runInBand",
"--no-cache",
"packages/assemblyscript"
]
},
{
"name": "Jest",
"type": "node",
"request": "launch",
"runtimeExecutable": "node",
"args": [
"${workspaceRoot}/node_modules/jest/bin/jest.js",
"--",
"--runInBand",
"--no-cache",
"${fileDirname}"
]
},
]
}
}
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"editor.formatOnSave": true,
"typescript.tsdk": "node_modules/typescript/lib"
}
13 changes: 13 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "npm",
"script": "install",
"path": "packages/assemblyscript/",
"problemMatcher": []
}
]
}
94 changes: 94 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
# Citizen Code of Conduct

## 1. Purpose

A primary goal of Wasmos is to be inclusive to the largest number of contributors, with the most varied and diverse backgrounds possible. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, ability, ethnicity, socioeconomic status, and religion (or lack thereof).

This code of conduct outlines our expectations for all those who participate in our community, as well as the consequences for unacceptable behavior.

We invite all those who participate in Wasmos to help us create safe and positive experiences for everyone.

## 2. Open [Source/Culture/Tech] Citizenship

A supplemental goal of this Code of Conduct is to increase open [source/culture/tech] citizenship by encouraging participants to recognize and strengthen the relationships between our actions and their effects on our community.

Communities mirror the societies in which they exist and positive action is essential to counteract the many forms of inequality and abuses of power that exist in society.

If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know.

## 3. Expected Behavior

The following behaviors are expected and requested of all community members:

* Participate in an authentic and active way. In doing so, you contribute to the health and longevity of this community.
* Exercise consideration and respect in your speech and actions.
* Attempt collaboration before conflict.
* Refrain from demeaning, discriminatory, or harassing behavior and speech.
* Be mindful of your surroundings and of your fellow participants. Alert community leaders if you notice a dangerous situation, someone in distress, or violations of this Code of Conduct, even if they seem inconsequential.
* Remember that community event venues may be shared with members of the public; please be respectful to all patrons of these locations.

## 4. Unacceptable Behavior

The following behaviors are considered harassment and are unacceptable within our community:

* Violence, threats of violence or violent language directed against another person.
* Sexist, racist, homophobic, transphobic, ableist or otherwise discriminatory jokes and language.
* Posting or displaying sexually explicit or violent material.
* Posting or threatening to post other people's personally identifying information ("doxing").
* Personal insults, particularly those related to gender, sexual orientation, race, religion, or disability.
* Inappropriate photography or recording.
* Inappropriate physical contact. You should have someone's consent before touching them.
* Unwelcome sexual attention. This includes, sexualized comments or jokes; inappropriate touching, groping, and unwelcomed sexual advances.
* Deliberate intimidation, stalking or following (online or in person).
* Advocating for, or encouraging, any of the above behavior.
* Sustained disruption of community events, including talks and presentations.

## 5. Weapons Policy

No weapons will be allowed at Wasmos events, community spaces, or in other spaces covered by the scope of this Code of Conduct. Weapons include but are not limited to guns, explosives (including fireworks), and large knives such as those used for hunting or display, as well as any other item used for the purpose of causing injury or harm to others. Anyone seen in possession of one of these items will be asked to leave immediately, and will only be allowed to return without the weapon. Community members are further expected to comply with all state and local laws on this matter.

## 6. Consequences of Unacceptable Behavior

Unacceptable behavior from any community member, including sponsors and those with decision-making authority, will not be tolerated.

Anyone asked to stop unacceptable behavior is expected to comply immediately.

If a community member engages in unacceptable behavior, the community organizers may take any action they deem appropriate, up to and including a temporary ban or permanent expulsion from the community without warning (and without refund in the case of a paid event).

## 7. Reporting Guidelines

If you are subject to or witness unacceptable behavior, or have any other concerns, please notify a community organizer as soon as possible. willem at cs.umd.edu.



Additionally, community organizers are available to help community members engage with local law enforcement or to otherwise help those experiencing unacceptable behavior feel safe. In the context of in-person events, organizers will also provide escorts as desired by the person experiencing distress.

## 8. Addressing Grievances

If you feel you have been falsely or unfairly accused of violating this Code of Conduct, you should notify WebAssemblyOS with a concise description of your grievance. Your grievance will be handled in accordance with our existing governing policies.



## 9. Scope

We expect all community participants (contributors, paid or otherwise; sponsors; and other guests) to abide by this Code of Conduct in all community venues--online and in-person--as well as in all one-on-one communications pertaining to community business.

This code of conduct and its related procedures also applies to unacceptable behavior occurring outside the scope of community activities when such behavior has the potential to adversely affect the safety and well-being of community members.

## 10. Contact info

willem at cs.umd.edu

## 11. License and attribution

The Citizen Code of Conduct is distributed by [Stumptown Syndicate](http://stumptownsyndicate.org) under a [Creative Commons Attribution-ShareAlike license](http://creativecommons.org/licenses/by-sa/3.0/).

Portions of text derived from the [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Geek Feminism Anti-Harassment Policy](http://geekfeminism.wikia.com/wiki/Conference_anti-harassment/Policy).

_Revision 2.3. Posted 6 March 2017._

_Revision 2.2. Posted 4 February 2016._

_Revision 2.1. Posted 23 June 2014._

_Revision 2.0, adopted by the [Stumptown Syndicate](http://stumptownsyndicate.org) board on 10 January 2013. Posted 17 March 2013._
25 changes: 20 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,26 @@
## Wasm OS


This is a kernel for running AssemblyScript/WebAssembly applications.

It provides the following.

0. Synchronous file system
0. Implements the node `process` module.
0. Shared Memory between kernel threads to allow for atomic `wait/notify` for syscalls.
0. Networking interface for P2P applications.
1. Synchronous file system
1. Implements the node `process` module.
1. Shared Memory between kernel threads to allow for atomic `wait/notify` for syscalls.
1. Networking interface for P2P applications.

## Project Setup

This project is [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lernajs.io/), which allows this repo to host multiple project in one repo, making it a "mono-repo." The key idea is that each package in the repo must be a stand alone, but it makes it easy to have them depend on each other and you can use a scoping package name. For example, this project needs a wrapper around the assemblyscript compiler, which is conveniently called `@wasmos/assemblyscript.`

This project also uses a git submodule for `wasa`, a fork of [jedisct1/wasa](https://github.com/jedisct1/wasa), which is a library for interacting with the new [wasi](https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webassembly-system-interface/), WebAssembly Interface, a core API imported by the runtime.

# First step

After cloning,
```
npm install
npm run bootstrap
```

This installs all of the top level dependencies, e.g. `typescript` and `jest`, and then installs each lerna package. This includes creating symlinks for local dependencies.
13 changes: 7 additions & 6 deletions as-pect.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,30 @@ module.exports = {
/**
* A set of globs passed to the glob package that qualify typescript files for testing.
*/
include: ["assembly/__tests__/**/*.spec.ts"],
include: [
"packages/*/assembly/__tests__/**/*.spec.ts"
],
/**
* A set of globs passed to the glob package that quality files to be added to each test.
*/
add: ["assembly/__tests__/**/*.include.ts"],
add: ["packages/assemblyscript/assembly/__tests__/wasa.include.ts"],
/**
* All the compiler flags needed for this test suite. Make sure that a binary file is output.
*/
flags: {
"--validate": [],
"--debug": [],
"--measure": [],
/** This is required. Do not change this. */
"--binaryFile": ["output.wasm"],
"--binaryFile": ["output.wasm"]
},
/**
* A set of regexp that will disclude source files from testing.
*/
disclude: [],
disclude: [/packages\/.*node_module/i],
/**
* Add your required AssemblyScript imports here.
*/
imports: {},
imports: {}
/**
* Add a custom reporter here if you want one
*/
Expand Down
7 changes: 0 additions & 7 deletions assembly/bin/echo.ts

This file was deleted.

15 changes: 0 additions & 15 deletions assembly/fs/index.ts

This file was deleted.

37 changes: 0 additions & 37 deletions assembly/index.vue

This file was deleted.

Loading