A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/nodejs/node/commit/8b20cc212b below:

add eval ts input · nodejs/node@8b20cc2 · GitHub

1 +

'use strict';

2 +

require('../common');

3 +

const assert = require('assert');

4 +

const { Worker } = require('worker_threads');

5 +

const { test } = require('node:test');

6 +

const { once } = require('events');

7 + 8 +

const esmHelloWorld = `

9 +

import worker from 'worker_threads';

10 +

const foo: string = 'Hello, World!';

11 +

worker.parentPort.postMessage(foo);

12 +

`;

13 + 14 +

const cjsHelloWorld = `

15 +

const { parentPort } = require('worker_threads');

16 +

const foo: string = 'Hello, World!';

17 +

parentPort.postMessage(foo);

18 +

`;

19 + 20 +

const disableTypeScriptWarningFlag = '--disable-warning=ExperimentalWarning';

21 + 22 +

test('Worker eval module typescript without input-type', async () => {

23 +

const w = new Worker(esmHelloWorld, { eval: true, execArgv: [disableTypeScriptWarningFlag] });

24 +

assert.deepStrictEqual(await once(w, 'message'), ['Hello, World!']);

25 +

});

26 + 27 +

test('Worker eval module typescript with --input-type=module-typescript', async () => {

28 +

const w = new Worker(esmHelloWorld, { eval: true, execArgv: ['--input-type=module-typescript',

29 +

disableTypeScriptWarningFlag] });

30 +

assert.deepStrictEqual(await once(w, 'message'), ['Hello, World!']);

31 +

});

32 + 33 +

test('Worker eval module typescript with --input-type=commonjs-typescript', async () => {

34 +

const w = new Worker(esmHelloWorld, { eval: true, execArgv: ['--input-type=commonjs-typescript',

35 +

disableTypeScriptWarningFlag] });

36 + 37 +

const [err] = await once(w, 'error');

38 +

assert.strictEqual(err.name, 'SyntaxError');

39 +

assert.match(err.message, /Cannot use import statement outside a module/);

40 +

});

41 + 42 +

test('Worker eval module typescript with --input-type=module', async () => {

43 +

const w = new Worker(esmHelloWorld, { eval: true, execArgv: ['--input-type=module',

44 +

disableTypeScriptWarningFlag] });

45 +

const [err] = await once(w, 'error');

46 +

assert.strictEqual(err.name, 'SyntaxError');

47 +

assert.match(err.message, /Missing initializer in const declaration/);

48 +

});

49 + 50 +

test('Worker eval commonjs typescript without input-type', async () => {

51 +

const w = new Worker(cjsHelloWorld, { eval: true, execArgv: [disableTypeScriptWarningFlag] });

52 +

assert.deepStrictEqual(await once(w, 'message'), ['Hello, World!']);

53 +

});

54 + 55 +

test('Worker eval commonjs typescript with --input-type=commonjs-typescript', async () => {

56 +

const w = new Worker(cjsHelloWorld, { eval: true, execArgv: ['--input-type=commonjs-typescript',

57 +

disableTypeScriptWarningFlag] });

58 +

assert.deepStrictEqual(await once(w, 'message'), ['Hello, World!']);

59 +

});

60 + 61 +

test('Worker eval commonjs typescript with --input-type=module-typescript', async () => {

62 +

const w = new Worker(cjsHelloWorld, { eval: true, execArgv: ['--input-type=module-typescript',

63 +

disableTypeScriptWarningFlag] });

64 +

const [err] = await once(w, 'error');

65 +

assert.strictEqual(err.name, 'ReferenceError');

66 +

assert.match(err.message, /require is not defined in ES module scope, you can use import instead/);

67 +

});


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4