Browse Source

Remove deno-prebuilt and use denoland/setup-deno

pull/1/head
Ambrose Chua 2 years ago
parent
commit
665e3db89b
  1. 3
      .github/workflows/node.yml
  2. 21
      package-lock.json
  3. 1
      package.json
  4. 4
      src/index.ts
  5. 15
      src/platform-deno.ts

3
.github/workflows/node.yml

@ -93,6 +93,9 @@ jobs:
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- uses: actions/cache@v2
with:
path: '~/.npm'

21
package-lock.json

@ -13,7 +13,6 @@
"@wdio/logger": "^7.7.0",
"chromedriver": "^93.0.1",
"cli-table3": "^0.6.0",
"deno-prebuilt": "^1.0.4",
"geckodriver": "^2.0.4",
"get-port": "^5.1.1",
"koa": "^2.13.1",
@ -2337,18 +2336,6 @@
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
},
"node_modules/deno-prebuilt": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/deno-prebuilt/-/deno-prebuilt-1.0.4.tgz",
"integrity": "sha512-1/h9fhFWoANZW3ijYhliblr063PMCO+dcfyrc1vdgjZtOtqMg4hYnzmyAhH+/ah4W4QhRMURAfh9qXJdqc/7aA==",
"hasInstallScript": true,
"dependencies": {
"yauzl": "^2.10.0"
},
"bin": {
"deno-prebuilt": "bin.js"
}
},
"node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@ -9103,14 +9090,6 @@
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
},
"deno-prebuilt": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/deno-prebuilt/-/deno-prebuilt-1.0.4.tgz",
"integrity": "sha512-1/h9fhFWoANZW3ijYhliblr063PMCO+dcfyrc1vdgjZtOtqMg4hYnzmyAhH+/ah4W4QhRMURAfh9qXJdqc/7aA==",
"requires": {
"yauzl": "^2.10.0"
}
},
"depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",

1
package.json

@ -15,7 +15,6 @@
"@wdio/logger": "^7.7.0",
"chromedriver": "^93.0.1",
"cli-table3": "^0.6.0",
"deno-prebuilt": "^1.0.4",
"geckodriver": "^2.0.4",
"get-port": "^5.1.1",
"koa": "^2.13.1",

4
src/index.ts

@ -14,11 +14,11 @@ logger.setLevel('fetch-compare', 'warn');
const silent = true;
const platforms: Record<string, Platform> = {
deno: new PlatformDeno(),
node: new PlatformNode(),
chrome: new PlatformBrowser(chrome, 'chrome', silent),
firefox: new PlatformBrowser(firefox, 'firefox', silent),
safari: new PlatformBrowser(safari, 'safari', silent),
node: new PlatformNode(),
deno: new PlatformDeno(),
};
function formatValue(v: ResultObject): string {

15
src/platform-deno.ts

@ -1,7 +1,6 @@
import {platform} from 'os';
import {spawn} from 'child_process';
import logger from '@wdio/logger';
// @ts-expect-error: Missing types
import {binary} from 'deno-prebuilt';
import {Platform, Result} from './types.js';
@ -10,18 +9,20 @@ const log = logger('fetch-compare');
export default class PlatformDeno implements Platform {
async run(ctx: Record<string, any>, file: string): Promise<Result> {
const child = spawn(
binary,
platform() === 'win32' ? 'deno.exe' : 'deno',
['run', '--allow-read', '--allow-net=httpbin.org', 'index-deno.js', file],
{cwd: ctx.fixturesPath},
{cwd: ctx.fixturesPath, stdio: ['pipe', 'pipe', 'inherit']},
);
const stdout = await new Promise((resolve, reject) => {
child.once('error', reject);
child.once('exit', reject);
let stdout = '';
child.stdout.on('data', (data) => {
stdout += data;
});
child.once('exit', () => {
child.once('error', reject);
child.once('exit', (code) => {
if (code !== 0) {
reject(code);
}
resolve(stdout);
});
});

Loading…
Cancel
Save