WebAssemblyOS / wasmos

OS primitives and shell for AssembyScript and WebAssembly
MIT License
42 stars 21 forks source link

Cant even get the setup working #98

Open fronkers opened 5 years ago

fronkers commented 5 years ago

Originally I couldn't even pull from the upstream remote branch without a merge error due to the "changes" I made to the package-lock.json file. After trying all the fixes with no avail. I deleted my fork, made a new one and now when I run 'npm run ci' I get a ton of errors.

Any suggestions?

fronkers commented 5 years ago

node_modules/browserfs/dist/node/index.d.ts:5:15 - error TS2307: Cannot find module './core/browserfs'.

5 export * from './core/browserfs';


packages/ash/src/index.ts:8:11 - error TS2339: Property 'install' does not exist on type 'typeof import("/Users/franklopez/cmsc388i/wasmos/node_modules/browserfs/dist/browserfs")'.

8 BrowserFS.install(window);

packages/fs/src/fs/index.ts:23:13 - error TS2339: Property 'install' does not exist on type 'typeof import("/Users/franklopez/cmsc388i/wasmos/node_modules/browserfs/dist/browserfs")'.

23 BrowserFS.install(global || window);


packages/fs/src/fs/index.ts:32:15 - error TS2339: Property 'configure' does not exist on type 'typeof import("/Users/franklopez/cmsc388i/wasmos/node_modules/browserfs/dist/browserfs")'.

32     BrowserFS.configure(

packages/fs/src/fs/index.ts:66:28 - error TS2339: Property 'configure' does not exist on type 'typeof import("/Users/franklopez/cmsc388i/wasmos/node_modules/browserfs/dist/browserfs")'.

66 await promisfy(BrowserFS.configure)({


packages/fs/src/fs/index.ts:72:13 - error TS2339: Property 'FileSystem' does not exist on type 'typeof import("/Users/franklopez/cmsc388i/wasmos/node_modules/browserfs/dist/browserfs")'.

72   BrowserFS.FileSystem.WorkerFS.attachRemoteListener(worker);

packages/kernel/src/threading/worker.ts:28:29 - error TS2339: Property 'BFSRequire' does not exist on type 'typeof import("/Users/franklopez/cmsc388i/wasmos/node_modules/browserfs/dist/browserfs")'.

28 (ctx).fs = BrowserFS.BFSRequire("fs");



Found 7 errors.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! wasmos@0.0.1 check: `tsc -p tsconfig.ts.json --noEmit`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the wasmos@0.0.1 check script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/franklopez/.npm/_logs/2019-05-19T16_15_47_874Z-debug.log
ERROR: "check" exited with 1.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! wasmos@0.0.1 ci: `npm-run-all clean bootstrap check ci:test test:as`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the wasmos@0.0.1 ci script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/franklopez/.npm/_logs/2019-05-19T16_15_48_228Z-debug.log
willemneal commented 5 years ago

Hmm strange. Was this after another npm install?

fronkers commented 5 years ago

I mean I've done the process like 5 times deleting wasmos from my local directory and re-cloning and re-running npm install, but I don't know if that's what's causing the issue. I've tried many different locations locally and all give the same error when I run 'npm run ci'

willemneal commented 5 years ago

Well this was just to check the type check the typescript code. Since we aren't using typescript you can edit package.json and change npm-run-all clean bootstrap check ci:test test:as -> npm-run-all clean bootstrap test:as. Then npm run ci will skip checking and testing the typescript. Just make sure that you don't commit this change.

willemneal commented 5 years ago

Also you can just run, npm run test:as right away to see if the assemblyscript is working.

fronkers commented 5 years ago

Alright. That ran without any errors. Have you gotten the filesystem working yet? I originally chose ls, but if the filesystem isn't up yet I'd much rather try something else.

willemneal commented 5 years ago

Yep it's working. Check out types/wasa/index.d.ts to see the fs class. You can use fs.openDirectory to get a WasiResult<DirectoryDescriptor> which has the functionality you'll need for ls.