Socket
Socket
Sign inDemoInstall

@bytecodealliance/jco

Package Overview
Dependencies
Maintainers
3
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@bytecodealliance/jco - npm Package Compare versions

Comparing version 0.13.0 to 0.13.1

2

obj/interfaces/wasi-cli-stderr.d.ts
export namespace WasiCliStderr {
export function getStderr(): OutputStream;
}
import type { OutputStream } from '../interfaces/wasi-io-streams';
import type { OutputStream } from '../interfaces/wasi-io-streams.js';
export { OutputStream };
export namespace WasiCliStdin {
export function getStdin(): InputStream;
}
import type { InputStream } from '../interfaces/wasi-io-streams';
import type { InputStream } from '../interfaces/wasi-io-streams.js';
export { InputStream };
export namespace WasiCliStdout {
export function getStdout(): OutputStream;
}
import type { OutputStream } from '../interfaces/wasi-io-streams';
import type { OutputStream } from '../interfaces/wasi-io-streams.js';
export { OutputStream };
export namespace WasiCliTerminalInput {
export function dropTerminalInput(this_: TerminalInput): void;
export { TerminalInput };
}
export type TerminalInput = number;
export class TerminalInput {
}
export namespace WasiCliTerminalOutput {
export function dropTerminalOutput(this_: TerminalOutput): void;
export { TerminalOutput };
}
export type TerminalOutput = number;
export class TerminalOutput {
}
export namespace WasiCliTerminalStderr {
export function getTerminalStderr(): TerminalOutput | undefined;
}
import type { TerminalOutput } from '../interfaces/wasi-cli-terminal-output';
import type { TerminalOutput } from '../interfaces/wasi-cli-terminal-output.js';
export { TerminalOutput };
export namespace WasiCliTerminalStdin {
export function getTerminalStdin(): TerminalInput | undefined;
}
import type { TerminalInput } from '../interfaces/wasi-cli-terminal-input';
import type { TerminalInput } from '../interfaces/wasi-cli-terminal-input.js';
export { TerminalInput };
export namespace WasiCliTerminalStdout {
export function getTerminalStdout(): TerminalOutput | undefined;
}
import type { TerminalOutput } from '../interfaces/wasi-cli-terminal-output';
import type { TerminalOutput } from '../interfaces/wasi-cli-terminal-output.js';
export { TerminalOutput };
export namespace WasiFilesystemPreopens {
export function getDirectories(): [Descriptor, string][];
}
import type { Descriptor } from '../interfaces/wasi-filesystem-types';
import type { Descriptor } from '../interfaces/wasi-filesystem-types.js';
export { Descriptor };
export namespace WasiFilesystemTypes {
export function readViaStream(this_: Descriptor, offset: Filesize): InputStream;
export function writeViaStream(this_: Descriptor, offset: Filesize): OutputStream;
export function appendViaStream(this_: Descriptor): OutputStream;
export function getType(this_: Descriptor): DescriptorType;
export function stat(this_: Descriptor): DescriptorStat;
export function openAt(this_: Descriptor, pathFlags: PathFlags, path: string, openFlags: OpenFlags, flags: DescriptorFlags, modes: Modes): Descriptor;
export function dropDescriptor(this_: Descriptor): void;
export function dropDirectoryEntryStream(this_: DirectoryEntryStream): void;
export function metadataHash(this_: Descriptor): MetadataHashValue;
export { Descriptor };
export function filesystemErrorCode(err: Error): ErrorCode | undefined;
export { DirectoryEntryStream };
}
export type Descriptor = number;
export type Filesize = bigint;
import type { InputStream } from '../interfaces/wasi-io-streams';
import type { InputStream } from '../interfaces/wasi-io-streams.js';
export { InputStream };

@@ -94,3 +87,3 @@ /**

export type ErrorCode = 'access' | 'would-block' | 'already' | 'bad-descriptor' | 'busy' | 'deadlock' | 'quota' | 'exist' | 'file-too-large' | 'illegal-byte-sequence' | 'in-progress' | 'interrupted' | 'invalid' | 'io' | 'is-directory' | 'loop' | 'too-many-links' | 'message-size' | 'name-too-long' | 'no-device' | 'no-entry' | 'no-lock' | 'insufficient-memory' | 'insufficient-space' | 'not-directory' | 'not-empty' | 'not-recoverable' | 'unsupported' | 'no-tty' | 'no-such-device' | 'overflow' | 'not-permitted' | 'pipe' | 'read-only' | 'invalid-seek' | 'text-file-busy' | 'cross-device';
import type { OutputStream } from '../interfaces/wasi-io-streams';
import type { OutputStream } from '../interfaces/wasi-io-streams.js';
export { OutputStream };

@@ -118,3 +111,3 @@ /**

export type LinkCount = bigint;
import type { Datetime } from '../interfaces/wasi-clocks-wall-clock';
import type { Datetime } from '../interfaces/wasi-clocks-wall-clock.js';
export { Datetime };

@@ -125,5 +118,5 @@ export interface DescriptorStat {

size: Filesize,
dataAccessTimestamp: Datetime,
dataModificationTimestamp: Datetime,
statusChangeTimestamp: Datetime,
dataAccessTimestamp?: Datetime,
dataModificationTimestamp?: Datetime,
statusChangeTimestamp?: Datetime,
}

@@ -152,3 +145,2 @@ export interface PathFlags {

}
export type DirectoryEntryStream = number;
export interface MetadataHashValue {

@@ -158,1 +150,16 @@ lower: bigint,

}
import type { Error } from '../interfaces/wasi-io-streams.js';
export { Error };
export class Descriptor {
readViaStream(offset: Filesize): InputStream;
writeViaStream(offset: Filesize): OutputStream;
appendViaStream(): OutputStream;
getType(): DescriptorType;
stat(): DescriptorStat;
openAt(pathFlags: PathFlags, path: string, openFlags: OpenFlags, flags: DescriptorFlags, modes: Modes): Descriptor;
metadataHash(): MetadataHashValue;
}
export class DirectoryEntryStream {
}
export namespace WasiIoStreams {
export function read(this_: InputStream, len: bigint): [Uint8Array, StreamStatus];
export function blockingRead(this_: InputStream, len: bigint): [Uint8Array, StreamStatus];
export function dropInputStream(this_: InputStream): void;
export function checkWrite(this_: OutputStream): bigint;
export function write(this_: OutputStream, contents: Uint8Array): void;
export function blockingWriteAndFlush(this_: OutputStream, contents: Uint8Array): void;
export function blockingFlush(this_: OutputStream): void;
export function dropOutputStream(this_: OutputStream): void;
export { InputStream };
export { OutputStream };
export { Error };
}
export type InputStream = number;
/**
* # Variants
*
* ## `"open"`
*
* ## `"ended"`
*/
export type StreamStatus = 'open' | 'ended';
export type OutputStream = number;
/**
* # Variants
*
* ## `"last-operation-failed"`
*
* ## `"closed"`
*/
export type WriteError = 'last-operation-failed' | 'closed';
export type StreamError = StreamErrorLastOperationFailed | StreamErrorClosed;
export interface StreamErrorLastOperationFailed {
tag: 'last-operation-failed',
val: Error,
}
export interface StreamErrorClosed {
tag: 'closed',
}
export class InputStream {
read(len: bigint): Uint8Array;
blockingRead(len: bigint): Uint8Array;
}
export class OutputStream {
checkWrite(): bigint;
write(contents: Uint8Array): void;
blockingWriteAndFlush(contents: Uint8Array): void;
blockingFlush(): void;
}
export class Error {
}
export namespace WasiSocketsTcp {
export { TcpSocket };
}
export class TcpSocket {
}

@@ -48,18 +48,18 @@ export type Files = [string, Uint8Array][];

}
import { WasiCliEnvironment020rc20231105 } from './interfaces/wasi-cli-environment-0.2.0-rc-2023-11-05';
import { WasiCliExit020rc20231105 } from './interfaces/wasi-cli-exit-0.2.0-rc-2023-11-05';
import { WasiCliStderr020rc20231105 } from './interfaces/wasi-cli-stderr-0.2.0-rc-2023-11-05';
import { WasiCliStdin020rc20231105 } from './interfaces/wasi-cli-stdin-0.2.0-rc-2023-11-05';
import { WasiCliStdout020rc20231105 } from './interfaces/wasi-cli-stdout-0.2.0-rc-2023-11-05';
import { WasiCliTerminalInput020rc20231105 } from './interfaces/wasi-cli-terminal-input-0.2.0-rc-2023-11-05';
import { WasiCliTerminalOutput020rc20231105 } from './interfaces/wasi-cli-terminal-output-0.2.0-rc-2023-11-05';
import { WasiCliTerminalStderr020rc20231105 } from './interfaces/wasi-cli-terminal-stderr-0.2.0-rc-2023-11-05';
import { WasiCliTerminalStdin020rc20231105 } from './interfaces/wasi-cli-terminal-stdin-0.2.0-rc-2023-11-05';
import { WasiCliTerminalStdout020rc20231105 } from './interfaces/wasi-cli-terminal-stdout-0.2.0-rc-2023-11-05';
import { WasiClocksWallClock020rc20231105 } from './interfaces/wasi-clocks-wall-clock-0.2.0-rc-2023-11-05';
import { WasiFilesystemPreopens020rc20231105 } from './interfaces/wasi-filesystem-preopens-0.2.0-rc-2023-11-05';
import { WasiFilesystemTypes020rc20231105 } from './interfaces/wasi-filesystem-types-0.2.0-rc-2023-11-05';
import { WasiIoStreams020rc20231105 } from './interfaces/wasi-io-streams-0.2.0-rc-2023-11-05';
import { WasiRandomRandom020rc20231105 } from './interfaces/wasi-random-random-0.2.0-rc-2023-11-05';
import { WasiSocketsTcp020rc20231105 } from './interfaces/wasi-sockets-tcp-0.2.0-rc-2023-11-05';
import { WasiCliEnvironment } from './interfaces/wasi-cli-environment';
import { WasiCliExit } from './interfaces/wasi-cli-exit';
import { WasiCliStderr } from './interfaces/wasi-cli-stderr';
import { WasiCliStdin } from './interfaces/wasi-cli-stdin';
import { WasiCliStdout } from './interfaces/wasi-cli-stdout';
import { WasiCliTerminalInput } from './interfaces/wasi-cli-terminal-input';
import { WasiCliTerminalOutput } from './interfaces/wasi-cli-terminal-output';
import { WasiCliTerminalStderr } from './interfaces/wasi-cli-terminal-stderr';
import { WasiCliTerminalStdin } from './interfaces/wasi-cli-terminal-stdin';
import { WasiCliTerminalStdout } from './interfaces/wasi-cli-terminal-stdout';
import { WasiClocksWallClock } from './interfaces/wasi-clocks-wall-clock';
import { WasiFilesystemPreopens } from './interfaces/wasi-filesystem-preopens';
import { WasiFilesystemTypes } from './interfaces/wasi-filesystem-types';
import { WasiIoStreams } from './interfaces/wasi-io-streams';
import { WasiRandomRandom } from './interfaces/wasi-random-random';
import { WasiSocketsTcp } from './interfaces/wasi-sockets-tcp';
export function generate(component: Uint8Array, options: GenerateOptions): Transpiled;

@@ -66,0 +66,0 @@ export function generateTypes(name: string, options: TypeGenerationOptions): Files;

@@ -1,17 +0,17 @@

import { WasiCliEnvironment020rc20231105 } from './interfaces/wasi-cli-environment-0.2.0-rc-2023-11-05';
import { WasiCliExit020rc20231105 } from './interfaces/wasi-cli-exit-0.2.0-rc-2023-11-05';
import { WasiCliStderr020rc20231105 } from './interfaces/wasi-cli-stderr-0.2.0-rc-2023-11-05';
import { WasiCliStdin020rc20231105 } from './interfaces/wasi-cli-stdin-0.2.0-rc-2023-11-05';
import { WasiCliStdout020rc20231105 } from './interfaces/wasi-cli-stdout-0.2.0-rc-2023-11-05';
import { WasiCliTerminalInput020rc20231105 } from './interfaces/wasi-cli-terminal-input-0.2.0-rc-2023-11-05';
import { WasiCliTerminalOutput020rc20231105 } from './interfaces/wasi-cli-terminal-output-0.2.0-rc-2023-11-05';
import { WasiCliTerminalStderr020rc20231105 } from './interfaces/wasi-cli-terminal-stderr-0.2.0-rc-2023-11-05';
import { WasiCliTerminalStdin020rc20231105 } from './interfaces/wasi-cli-terminal-stdin-0.2.0-rc-2023-11-05';
import { WasiCliTerminalStdout020rc20231105 } from './interfaces/wasi-cli-terminal-stdout-0.2.0-rc-2023-11-05';
import { WasiClocksWallClock020rc20231105 } from './interfaces/wasi-clocks-wall-clock-0.2.0-rc-2023-11-05';
import { WasiFilesystemPreopens020rc20231105 } from './interfaces/wasi-filesystem-preopens-0.2.0-rc-2023-11-05';
import { WasiFilesystemTypes020rc20231105 } from './interfaces/wasi-filesystem-types-0.2.0-rc-2023-11-05';
import { WasiIoStreams020rc20231105 } from './interfaces/wasi-io-streams-0.2.0-rc-2023-11-05';
import { WasiRandomRandom020rc20231105 } from './interfaces/wasi-random-random-0.2.0-rc-2023-11-05';
import { WasiSocketsTcp020rc20231105 } from './interfaces/wasi-sockets-tcp-0.2.0-rc-2023-11-05';
import { WasiCliEnvironment } from './interfaces/wasi-cli-environment';
import { WasiCliExit } from './interfaces/wasi-cli-exit';
import { WasiCliStderr } from './interfaces/wasi-cli-stderr';
import { WasiCliStdin } from './interfaces/wasi-cli-stdin';
import { WasiCliStdout } from './interfaces/wasi-cli-stdout';
import { WasiCliTerminalInput } from './interfaces/wasi-cli-terminal-input';
import { WasiCliTerminalOutput } from './interfaces/wasi-cli-terminal-output';
import { WasiCliTerminalStderr } from './interfaces/wasi-cli-terminal-stderr';
import { WasiCliTerminalStdin } from './interfaces/wasi-cli-terminal-stdin';
import { WasiCliTerminalStdout } from './interfaces/wasi-cli-terminal-stdout';
import { WasiClocksWallClock } from './interfaces/wasi-clocks-wall-clock';
import { WasiFilesystemPreopens } from './interfaces/wasi-filesystem-preopens';
import { WasiFilesystemTypes } from './interfaces/wasi-filesystem-types';
import { WasiIoStreams } from './interfaces/wasi-io-streams';
import { WasiRandomRandom } from './interfaces/wasi-random-random';
import { WasiSocketsTcp } from './interfaces/wasi-sockets-tcp';
import { LocalWasmToolsTools } from './interfaces/local-wasm-tools-tools';

@@ -18,0 +18,0 @@ export const tools: typeof LocalWasmToolsTools;

{
"name": "@bytecodealliance/jco",
"version": "0.13.0",
"version": "0.13.1",
"description": "JavaScript tooling for working with WebAssembly Components",

@@ -21,3 +21,3 @@ "author": "Guy Bedford",

"dependencies": {
"@bytecodealliance/preview2-shim": "0.0.19",
"@bytecodealliance/preview2-shim": "0.0.20",
"binaryen": "^111.0.0",

@@ -31,3 +31,3 @@ "chalk-template": "^0.4.0",

"devDependencies": {
"@bytecodealliance/componentize-js": "^0.3.0",
"@bytecodealliance/componentize-js": "^0.4.0",
"@types/node": "^18.11.17",

@@ -57,3 +57,3 @@ "@typescript-eslint/eslint-plugin": "^5.41.0",

"build": "cargo xtask build workspace",
"build:types:preview2-shim": "cargo xtask build shims",
"build:types:preview2-shim": "cargo xtask generate wasi-types",
"lint": "eslint -c eslintrc.cjs lib/**/*.js packages/*/lib/**/*.js",

@@ -60,0 +60,0 @@ "test": "mocha -u tdd test/test.js --timeout 120000"

import { getTmpDir } from '../common.js';
import { transpile } from './transpile.js';
import { rm, stat, mkdir, writeFile, symlink, chmod } from 'node:fs/promises';
import { rm, stat, mkdir, writeFile, symlink } from 'node:fs/promises';
import { basename, resolve, extname } from 'node:path';
import { spawn } from 'node:child_process';
import { argv0, exit } from 'node:process';
import { fork } from 'node:child_process';
import process from 'node:process';
import { fileURLToPath } from 'node:url';

@@ -11,5 +11,7 @@ import c from 'chalk-template';

export async function run (componentPath, args) {
// Ensure that `args` is an array
args = [...args];
const name = basename(componentPath.slice(0, -extname(componentPath).length || Infinity));
const outDir = await getTmpDir();
let cp;
try {

@@ -26,7 +28,5 @@ try {

catch (e) {
console.error(c`{red ERR}: Unable to transpile command for execution`);
throw e;
throw new Error('Unable to transpile command for execution', { cause: e });
}
await mkdir(resolve(outDir, 'node_modules', '@bytecodealliance'), { recursive: true });
await writeFile(resolve(outDir, 'package.json'), JSON.stringify({ type: 'module' }));

@@ -43,10 +43,11 @@

let len = preview2ShimPath.length;
preview2ShimPath = resolve(preview2ShimPath, '../../../node_modules/@bytecodealliance/preview2-shim');
preview2ShimPath = resolve(preview2ShimPath, '..', '..', '..', 'node_modules', '@bytecodealliance', 'preview2-shim');
if (preview2ShimPath.length === len) {
console.error(c`{red ERR}: Unable to locate the {bold @bytecodealliance/preview2-shim} package, make sure it is installed.`);
return;
throw c`Unable to locate the {bold @bytecodealliance/preview2-shim} package, make sure it is installed.`;
}
}
await symlink(preview2ShimPath, resolve(outDir, 'node_modules/@bytecodealliance/preview2-shim'), 'dir');
const modulesDir = resolve(outDir, 'node_modules', '@bytecodealliance');
await mkdir(modulesDir, { recursive: true });
await symlink(preview2ShimPath, resolve(modulesDir, 'preview2-shim'), 'dir');

@@ -77,22 +78,15 @@ const runPath = resolve(outDir, '_run.js');

`);
await chmod(runPath, 0o777);
cp = spawn(argv0, [runPath, ...args], { stdio: 'inherit' });
process.exitCode = await new Promise((resolve, reject) => {
const cp = fork(runPath, args, { stdio: 'inherit' });
cp.on('error', reject);
cp.on('exit', resolve);
});
}
finally {
if (!cp) {
try {
await rm(outDir, { recursive: true });
} catch {}
}
try {
await rm(outDir, { recursive: true });
} catch {}
}
const exitCode = await new Promise((resolve, reject) => {
cp.on('error', reject);
cp.on('exit', resolve);
});
try {
await rm(outDir, { recursive: true });
} catch {}
exit(exitCode);
}

@@ -14,3 +14,3 @@ #!/usr/bin/env node

.usage('<command> [options]')
.version('0.13.0');
.version('0.13.1');

@@ -17,0 +17,0 @@ function myParseInt(value) {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc