mirror of
https://github.com/fluencelabs/fluence-js.git
synced 2025-04-25 09:52:12 +00:00
* * Separate marine worker as a package * Trying to fix tests * Finalizing test fixes * fix: rename back to Fluence CLI (#320) chore: rename back to Fluence CLI * fix(deps): update dependency @fluencelabs/avm to v0.43.1 (#322) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * chore: release master (#324) * chore: release master * chore: Regenerate pnpm lock file * feat: use marine-js 0.7.2 (#321) * use marine-js 0.5.0 * increace some timeouts * increace some timeouts * use latest marine + remove larger timeouts * propagate CallParameters type * use marine 0.7.2 * Temp use node 18 and 20 * Comment out node 20.x --------- Co-authored-by: Anatoly Laskaris <github_me@nahsi.dev> * chore: Fix test with node 18/20 error message (#323) * Fix test with node 18/20 error message * Run tests on node 18 and 20 * Enhance description * Fix type and obj property --------- Co-authored-by: Anatoly Laskaris <github_me@nahsi.dev> * * Separate marine worker as a package * Trying to fix tests * Finalizing test fixes * * Refactoring packages. * Using CDN to load .wasm deps. * Setting up tests for new architecture * Fix almost all tests * Fix last strange test * Remove package specific packages * Remove avm class as it looks excessive * marine worker new version * misc refactoring/remove console.log's * Rename package js-peer to js-client * Move service info to marine worker * Change CDN path * Fix worker race confition * Remove buffer type * Remove turned off headless mode in platform tests * Remove async keyword to make tests pass * Remove util package * Make js-client.api package just reexport interface from js-client main package * Update package info in CI * Fix review comments * Remove test entry from marine-worker package * Misc fixes * Fix worker type * Add fetchers * Specify correct versions for js-client package * Set first ver for js-client * Update libp2p and related dep versions to the latest * Build all deps into package itself * Fix review * Refine package * Fix comment * Update packages/core/js-client/src/fetchers/browser.ts * Update packages/core/js-client/src/fetchers/index.ts * Update packages/core/js-client/src/fetchers/node.ts * Update packages/core/js-client/src/jsPeer/FluencePeer.ts * Update packages/core/js-client/src/keypair/__test__/KeyPair.spec.ts * Update packages/core/js-client/src/jsPeer/FluencePeer.ts Co-authored-by: shamsartem <shamsartem@gmail.com> * Delete outdated file * Need types for build to work * Inline func call * Add comments to replacement lines. P.S. we can remove some of them after update libp2p --------- Co-authored-by: shamsartem <shamsartem@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: fluencebot <116741523+fluencebot@users.noreply.github.com> Co-authored-by: Valery Antopol <valery.antopol@gmail.com> Co-authored-by: Anatoly Laskaris <github_me@nahsi.dev>
68 lines
2.0 KiB
TypeScript
68 lines
2.0 KiB
TypeScript
import { build, defineConfig, InlineConfig, PluginOption, UserConfig, UserConfigExport } from 'vite'
|
|
import { dirname, resolve } from 'path';
|
|
import { builtinModules, createRequire } from 'module';
|
|
import inject from '@rollup/plugin-inject';
|
|
// @ts-ignore
|
|
import merge from 'deepmerge';
|
|
import { fileURLToPath } from 'url';
|
|
import { replaceCodePlugin } from 'vite-plugin-replace';
|
|
|
|
const require = createRequire(import.meta.url);
|
|
const esbuildShim = require.resolve('node-stdlib-browser/helpers/esbuild/shim');
|
|
|
|
const commonConfig = defineConfig({
|
|
build: {
|
|
lib: {
|
|
entry: resolve(dirname(fileURLToPath(import.meta.url)), 'src/index.ts'),
|
|
name: 'MarineWorker'
|
|
},
|
|
}
|
|
}) as UserConfig;
|
|
|
|
const browserConfig: InlineConfig = await merge(commonConfig, defineConfig({
|
|
build: {
|
|
outDir: 'dist/browser',
|
|
},
|
|
plugins: [{
|
|
// @ts-ignore
|
|
...inject({
|
|
global: [esbuildShim, 'global'],
|
|
process: [esbuildShim, 'process'],
|
|
Buffer: [esbuildShim, 'Buffer']
|
|
}), enforce: 'post'
|
|
} as PluginOption],
|
|
}) as UserConfig);
|
|
|
|
const nodeConfig: InlineConfig = await merge(commonConfig, defineConfig({
|
|
build: {
|
|
target: 'es2022',
|
|
outDir: 'dist/node',
|
|
rollupOptions: {
|
|
external: [...builtinModules],
|
|
plugins: [
|
|
// @ts-ignore
|
|
inject({
|
|
self: 'global',
|
|
'WorkerScope': ['worker_threads', '*'],
|
|
'Worker': ['worker_threads', 'Worker'],
|
|
'isMainThread': ['worker_threads', 'isMainThread'],
|
|
})
|
|
]
|
|
}
|
|
},
|
|
plugins: [
|
|
replaceCodePlugin({
|
|
replacements: [
|
|
{ from: 'eval("require")("worker_threads")', to: 'WorkerScope' },
|
|
{ from: 'eval("require")("worker_threads")', to: 'WorkerScope' },
|
|
]
|
|
})
|
|
],
|
|
resolve: {
|
|
browserField: false,
|
|
}
|
|
}) as UserConfig);
|
|
|
|
|
|
await build(browserConfig!);
|
|
await build(nodeConfig!); |