@bytecodealliance/jco 1.11.2 → 1.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -46,9 +46,10 @@ export async function componentNew(file, opts) {
46
46
  await $init;
47
47
  const source = file ? await readFile(file) : null;
48
48
  let adapters = [];
49
- if (opts.wasiReactor && opts.wasiCommand)
49
+ if (opts.wasiReactor && opts.wasiCommand) {
50
50
  throw new Error('Must select one of --wasi-command or --wasi-reactor');
51
- if (opts.wasiReactor)
51
+ }
52
+ if (opts.wasiReactor) {
52
53
  adapters = [
53
54
  [
54
55
  'wasi_snapshot_preview1',
@@ -62,7 +63,7 @@ export async function componentNew(file, opts) {
62
63
  ).buffer,
63
64
  ],
64
65
  ];
65
- else if (opts.wasiCommand)
66
+ } else if (opts.wasiCommand) {
66
67
  adapters = [
67
68
  [
68
69
  'wasi_snapshot_preview1',
@@ -76,34 +77,39 @@ export async function componentNew(file, opts) {
76
77
  ).buffer,
77
78
  ],
78
79
  ];
79
- if (opts.adapt)
80
+ }
81
+ if (opts.adapt) {
80
82
  adapters = adapters.concat(
81
83
  await Promise.all(
82
84
  opts.adapt.map(async (adapt) => {
83
85
  let adapter;
84
- if (adapt.includes('=')) adapter = adapt.split('=');
85
- else
86
+ if (adapt.includes('=')) {
87
+ adapter = adapt.split('=');
88
+ } else {
86
89
  adapter = [
87
90
  basename(adapt).slice(0, -extname(adapt).length),
88
91
  adapt,
89
92
  ];
93
+ }
90
94
  adapter[1] = await readFile(adapter[1]);
91
95
  return adapter;
92
96
  })
93
97
  )
94
98
  );
99
+ }
95
100
  const output = componentNewFn(source, adapters);
96
101
  await writeFile(opts.output, output);
97
102
  }
98
103
 
99
104
  export async function componentEmbed(file, opts) {
100
105
  await $init;
101
- if (opts.metadata)
106
+ if (opts.metadata) {
102
107
  opts.metadata = opts.metadata.map((meta) => {
103
108
  const [field, data = ''] = meta.split('=');
104
109
  const [name, version = ''] = data.split('@');
105
110
  return [field, [[name, version]]];
106
111
  });
112
+ }
107
113
  const source = file ? await readFile(file) : null;
108
114
  opts.binary = source;
109
115
  opts.witPath = (isWindows ? '//?/' : '') + resolve(opts.wit);
@@ -137,18 +143,24 @@ export async function metadataShow(file, opts) {
137
143
  const indent = ' '.repeat(stack.length);
138
144
  if (metaType.tag === 'component') {
139
145
  output += c`{bold [component${name ? ' ' + name : ''}]}\n`;
140
- if (metaType.val > 0) stack.push(metaType.val);
146
+ if (metaType.val > 0) {
147
+ stack.push(metaType.val);
148
+ }
141
149
  } else {
142
150
  output += c`{bold [module${name ? ' ' + name : ''}]}\n`;
143
151
  }
144
- if (producers.length === 0) output += `${indent}(no metadata)\n`;
152
+ if (producers.length === 0) {
153
+ output += `${indent}(no metadata)\n`;
154
+ }
145
155
  for (const [field, items] of producers) {
146
156
  for (const [name, version] of items) {
147
157
  output += `${indent}${(field + ':').padEnd(13, ' ')} ${name}${version ? c`{cyan ${version}}` : ''}\n`;
148
158
  }
149
159
  }
150
160
  output += '\n';
151
- if (stack[stack.length - 1] === 0) stack.pop();
161
+ if (stack[stack.length - 1] === 0) {
162
+ stack.pop();
163
+ }
152
164
  stack[stack.length - 1]--;
153
165
  }
154
166
  process.stdout.write(output);
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["common.js"],"names":[],"mappings":"AAWA,+CAEC;AACD,0CAIC;AAED,0CAOC;AAED,mEAaC;AAED,wDAcC;AAED;;;;GAIG;AACH,6CAEC;AAYD,8FA8BC;AArGD,gCAA8C;;AA6D9C,yFAOC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["common.js"],"names":[],"mappings":"AAWA,+CAEC;AACD,0CAIC;AAED,0CASC;AAED,mEAcC;AAED,wDAoBC;AAED;;;;GAIG;AACH,6CAEC;AAWD,8FAiCC;AAhHD,gCAA8C;;AAsE9C,yFAMC"}
package/src/common.js CHANGED
@@ -9,53 +9,62 @@ import { platform } from 'node:process';
9
9
  export const isWindows = platform === 'win32';
10
10
 
11
11
  let _showSpinner = false;
12
- export function setShowSpinner (val) {
13
- _showSpinner = val;
12
+ export function setShowSpinner(val) {
13
+ _showSpinner = val;
14
14
  }
15
- export function getShowSpinner () {
16
- const showSpinner = _showSpinner;
17
- _showSpinner = false;
18
- return showSpinner;
15
+ export function getShowSpinner() {
16
+ const showSpinner = _showSpinner;
17
+ _showSpinner = false;
18
+ return showSpinner;
19
19
  }
20
20
 
21
- export function sizeStr (num) {
22
- num /= 1024;
23
- if (num < 1000)
24
- return `${fixedDigitDisplay(num, 4)} KiB`;
25
- num /= 1024;
26
- if (num < 1000)
27
- return `${fixedDigitDisplay(num, 4)} MiB`;
21
+ export function sizeStr(num) {
22
+ num /= 1024;
23
+ if (num < 1000) {
24
+ return `${fixedDigitDisplay(num, 4)} KiB`;
25
+ }
26
+ num /= 1024;
27
+ if (num < 1000) {
28
+ return `${fixedDigitDisplay(num, 4)} MiB`;
29
+ }
28
30
  }
29
31
 
30
- export function fixedDigitDisplay (num, maxChars) {
31
- const significantDigits = String(num).split('.')[0].length;
32
- let str;
33
- if (significantDigits >= maxChars - 1) {
34
- str = String(Math.round(num));
35
- } else {
36
- const decimalPlaces = maxChars - significantDigits - 1;
37
- const rounding = 10 ** decimalPlaces;
38
- str = String(Math.round(num * rounding) / rounding);
39
- }
40
- if (maxChars - str.length < 0)
41
- return str;
42
- return ' '.repeat(maxChars - str.length) + str;
32
+ export function fixedDigitDisplay(num, maxChars) {
33
+ const significantDigits = String(num).split('.')[0].length;
34
+ let str;
35
+ if (significantDigits >= maxChars - 1) {
36
+ str = String(Math.round(num));
37
+ } else {
38
+ const decimalPlaces = maxChars - significantDigits - 1;
39
+ const rounding = 10 ** decimalPlaces;
40
+ str = String(Math.round(num * rounding) / rounding);
41
+ }
42
+ if (maxChars - str.length < 0) {
43
+ return str;
44
+ }
45
+ return ' '.repeat(maxChars - str.length) + str;
43
46
  }
44
47
 
45
- export function table (data, align = []) {
46
- if (data.length === 0) return '';
47
- const colLens = data.reduce((maxLens, cur) => maxLens.map((len, i) => Math.max(len, cur[i].length)), data[0].map(cell => cell.length));
48
- let outTable = '';
49
- for (const row of data) {
50
- for (const [i, cell] of row.entries()) {
51
- if (align[i] === 'right')
52
- outTable += ' '.repeat(colLens[i] - cell.length) + cell;
53
- else
54
- outTable += cell + ' '.repeat(colLens[i] - cell.length);
48
+ export function table(data, align = []) {
49
+ if (data.length === 0) {
50
+ return '';
55
51
  }
56
- outTable += '\n';
57
- }
58
- return outTable;
52
+ const colLens = data.reduce(
53
+ (maxLens, cur) => maxLens.map((len, i) => Math.max(len, cur[i].length)),
54
+ data[0].map((cell) => cell.length)
55
+ );
56
+ let outTable = '';
57
+ for (const row of data) {
58
+ for (const [i, cell] of row.entries()) {
59
+ if (align[i] === 'right') {
60
+ outTable += ' '.repeat(colLens[i] - cell.length) + cell;
61
+ } else {
62
+ outTable += cell + ' '.repeat(colLens[i] - cell.length);
63
+ }
64
+ }
65
+ outTable += '\n';
66
+ }
67
+ return outTable;
59
68
  }
60
69
 
61
70
  /**
@@ -63,48 +72,50 @@ export function table (data, align = []) {
63
72
  *
64
73
  * The new directory is created using `fsPromises.mkdtemp()`.
65
74
  */
66
- export async function getTmpDir () {
67
- return await mkdtemp(normalize(tmpdir() + sep));
75
+ export async function getTmpDir() {
76
+ return await mkdtemp(normalize(tmpdir() + sep));
68
77
  }
69
78
 
70
- async function readFileCli (file, encoding) {
71
- try {
72
- return await readFile(file, encoding)
73
- }
74
- catch (e) {
75
- throw c`Unable to read file {bold ${file}}`;
76
- }
79
+ async function readFileCli(file, encoding) {
80
+ try {
81
+ return await readFile(file, encoding);
82
+ } catch {
83
+ throw c`Unable to read file {bold ${file}}`;
84
+ }
77
85
  }
78
- export { readFileCli as readFile }
86
+ export { readFileCli as readFile };
79
87
 
80
- export async function spawnIOTmp (cmd, input, args) {
81
- const tmpDir = await getTmpDir();
82
- try {
83
- const inFile = resolve(tmpDir, 'in.wasm');
84
- let outFile = resolve(tmpDir, 'out.wasm');
88
+ export async function spawnIOTmp(cmd, input, args) {
89
+ const tmpDir = await getTmpDir();
90
+ try {
91
+ const inFile = resolve(tmpDir, 'in.wasm');
92
+ let outFile = resolve(tmpDir, 'out.wasm');
85
93
 
86
- await writeFile(inFile, input);
94
+ await writeFile(inFile, input);
87
95
 
88
- const cp = spawn(argv0, [cmd, inFile, ...args, outFile], { stdio: 'pipe' });
96
+ const cp = spawn(argv0, [cmd, inFile, ...args, outFile], {
97
+ stdio: 'pipe',
98
+ });
89
99
 
90
- let stderr = '';
91
- const p = new Promise((resolve, reject) => {
92
- cp.stderr.on('data', data => stderr += data.toString());
93
- cp.on('error', e => {
94
- reject(e);
95
- });
96
- cp.on('exit', code => {
97
- if (code === 0)
98
- resolve();
99
- else
100
- reject(stderr);
101
- });
102
- });
100
+ let stderr = '';
101
+ const p = new Promise((resolve, reject) => {
102
+ cp.stderr.on('data', (data) => (stderr += data.toString()));
103
+ cp.on('error', (e) => {
104
+ reject(e);
105
+ });
106
+ cp.on('exit', (code) => {
107
+ if (code === 0) {
108
+ resolve();
109
+ } else {
110
+ reject(stderr);
111
+ }
112
+ });
113
+ });
103
114
 
104
- await p;
105
- var output = await readFile(outFile);
106
- return output;
107
- } finally {
108
- await rm(tmpDir, { recursive: true });
109
- }
115
+ await p;
116
+ var output = await readFile(outFile);
117
+ return output;
118
+ } finally {
119
+ await rm(tmpDir, { recursive: true });
120
+ }
110
121
  }