mirror of
https://github.com/fluencelabs/fluence-js.git
synced 2025-05-28 16:31:22 +00:00
Marine test build
This commit is contained in:
parent
267ebb687f
commit
e9fe2b7994
@ -2,6 +2,7 @@
|
||||
"name": "@test/marine_web",
|
||||
"version": "0.1.0",
|
||||
"scripts": {
|
||||
"postinstall": "copy-marine public",
|
||||
"start": "webpack serve",
|
||||
"test": "jest",
|
||||
"build": "webpack --mode=production --node-env=production",
|
||||
@ -30,6 +31,7 @@
|
||||
"ts-jest": "28.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@fluencelabs/tools": "workspace:*",
|
||||
"@fluencelabs/marine.deps-loader.web": "workspace:*",
|
||||
"@fluencelabs/marine.background-runner": "workspace:*",
|
||||
"@fluencelabs/avm": "0.34.4",
|
@ -1,10 +1,5 @@
|
||||
import { Buffer } from 'buffer';
|
||||
|
||||
// @ts-ignore
|
||||
window.Buffer = Buffer;
|
||||
|
||||
import { MarineBackgroundRunner } from '@fluencelabs/marine.background-runner';
|
||||
import { InlinedWorkerLoader, WasmWebLoader } from '@fluencelabs/marine.deps-loader.web';
|
||||
import { WorkerLoader, WasmWebLoader } from '@fluencelabs/marine.deps-loader.web';
|
||||
import { callAvm, JSONArray, JSONObject } from '@fluencelabs/avm';
|
||||
import { toUint8Array } from 'js-base64';
|
||||
|
||||
@ -17,7 +12,7 @@ const b = (s: string) => {
|
||||
const main = async () => {
|
||||
const avm = new WasmWebLoader('avm.wasm');
|
||||
const control = new WasmWebLoader('marine-js.wasm');
|
||||
const worker = new InlinedWorkerLoader();
|
||||
const worker = new WorkerLoader('marine-js.web.js');
|
||||
const runner = new MarineBackgroundRunner(worker, control, () => {});
|
||||
|
||||
await runner.start();
|
||||
|
@ -17,7 +17,9 @@
|
||||
"bin": {
|
||||
"copy-marine": "dist/copyMarine.js"
|
||||
},
|
||||
"dependencies": {},
|
||||
"dependencies": {
|
||||
"@fluencelabs/marine.worker-script": "workspace:*"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "16.11.59",
|
||||
"typescript": "4.6.4"
|
||||
|
@ -15,12 +15,12 @@
|
||||
"author": "Fluence Labs",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"threads": "^1.7.0"
|
||||
"threads": "^1.7.0",
|
||||
"@fluencelabs/marine-js": "0.3.38"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@fluencelabs/marine.worker-script": "workspace:0.1.0",
|
||||
"@fluencelabs/interfaces": "workspace:0.2.0",
|
||||
"@fluencelabs/marine-js": "0.3.38",
|
||||
"typescript": "^4.6.4",
|
||||
"@types/node": "16.11.59"
|
||||
}
|
||||
|
@ -14,7 +14,8 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import { JSONArray, JSONObject, LogFunction, logLevelToEnv, LogLevel } from '@fluencelabs/marine-js';
|
||||
import type { JSONArray, JSONObject, LogFunction, LogLevel } from '@fluencelabs/marine-js/dist/types';
|
||||
import { logLevelToEnv } from '@fluencelabs/marine-js/dist/types';
|
||||
import type { IMarine, IWorkerLoader, IWasmLoader } from '@fluencelabs/interfaces';
|
||||
import type { MarineBackgroundInterface } from '@fluencelabs/marine.worker-script';
|
||||
import { spawn, Thread } from 'threads';
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { BlobWorker } from 'threads';
|
||||
import { BlobWorker, Worker } from 'threads';
|
||||
import { Buffer } from 'buffer';
|
||||
import { LazyLoader } from '@fluencelabs/interfaces';
|
||||
import type { WorkerImplementation } from 'threads/dist/types/master';
|
||||
@ -52,3 +52,11 @@ export class InlinedWorkerLoader extends LazyLoader<WorkerImplementation> {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export class WorkerLoader extends LazyLoader<WorkerImplementation> {
|
||||
constructor(path: string) {
|
||||
super(() => {
|
||||
return new Worker(path);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,7 @@
|
||||
"pnpm": ">=3"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "tsc --emitDeclarationOnly && pnpm build:web && pnpm build:node && pnpm build:b64 ",
|
||||
"build": "tsc && pnpm build:web && pnpm build:node && pnpm build:b64 ",
|
||||
"build:b64": "./build_b64.sh",
|
||||
"build:web": "webpack -c webpack.config.web.js",
|
||||
"build:node": "webpack -c webpack.config.node.js"
|
||||
@ -22,6 +22,9 @@
|
||||
"threads": "^1.7.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"buffer": "6.0.3",
|
||||
"process": "0.11.10",
|
||||
"webpack-plugin-replace": "1.2.0",
|
||||
"@types/node": "16.11.59",
|
||||
"ts-loader": "8.4.0",
|
||||
"typescript": "^4.6.4",
|
||||
|
@ -1,6 +1,7 @@
|
||||
// Generated using webpack-cli https://github.com/webpack/webpack-cli
|
||||
|
||||
const path = require('path');
|
||||
const webpack = require('webpack');
|
||||
|
||||
// const isProduction = true;
|
||||
// uncomment to debug
|
||||
@ -32,7 +33,16 @@ const config = () => ({
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.tsx', '.ts', '.js'],
|
||||
fallback: {
|
||||
buffer: require.resolve('buffer/'),
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
new webpack.ProvidePlugin({
|
||||
Buffer: ['buffer', 'Buffer'],
|
||||
process: 'process/browser',
|
||||
}),
|
||||
],
|
||||
});
|
||||
|
||||
module.exports = () => {
|
||||
|
4646
pnpm-lock.yaml
generated
4646
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user