swc/node-swc/__tests__/error_test.mjs
Donny/강동윤 3dc1e765e9
feat(swc): Provide &Program to pass creator (#2665)
swc:
 - Use `impl |prorgram: &Program| -> impl Fold` instead of `impl Fold`. (Closes https://github.com/swc-project/swc/issues/2664)
2021-11-06 18:05:10 +09:00

51 lines
1.2 KiB
JavaScript

import { dirname } from 'path';
import { fileURLToPath } from 'url';
import * as swc from '../..';
const __dirname = dirname(fileURLToPath(import.meta.url));
it("should work", () => {
expect(() => {
swc.transformFileSync(__dirname + "/../tests/error/simple.js");
}).toThrow("jsc");
});
it("should work", () => {
expect(() => {
const filename = 'index.ts';
const code = `
export async function getDependency(): Promise<any> {
return import('./dep').then(({dependency}) => dependency);
}
`
const options = {
jsc: {
parser: {
syntax: 'typescript',
dynamicImport: true
},
externalHelpers: true,
target: 'esnext'
},
sourceMaps: true,
filename
}
swc.transformSync(code, options)
}).toThrow("unknown variant `esnext`");
});
it("should report good error", () => {
expect(() => {
swc.transformFileSync(__dirname + "/../tests/error/simple.js");
}).toThrow("failed to process js file");
});
it("should report good error (handler)", () => {
expect(() => {
swc.transformFileSync(__dirname + "/../tests/legacy/octal.js");
}).toThrow("console.log(00017)");
});