/
convert-to-swc.spec.ts
54 lines (47 loc) · 1.54 KB
/
convert-to-swc.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import { readProjectConfiguration, Tree } from '@nrwl/devkit';
import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing';
import { join } from 'path';
import { LibraryGeneratorSchema } from '../../utils/schema';
import { libraryGenerator } from '../library/library';
import { convertToSwcGenerator } from './convert-to-swc';
describe('convert to swc', () => {
let tree: Tree;
const defaultLibGenerationOptions: Omit<LibraryGeneratorSchema, 'name'> = {
skipTsConfig: false,
unitTestRunner: 'jest',
skipFormat: false,
linter: 'eslint',
testEnvironment: 'jsdom',
js: false,
pascalCaseFiles: false,
strict: true,
config: 'project',
compiler: 'tsc',
};
beforeAll(() => {
tree = createTreeWithEmptyWorkspace(2);
});
it('should convert tsc to swc', async () => {
await libraryGenerator(tree, {
...defaultLibGenerationOptions,
name: 'tsc-lib',
buildable: true,
});
expect(
readProjectConfiguration(tree, 'tsc-lib').targets['build']['executor']
).toEqual('@nrwl/js:tsc');
await convertToSwcGenerator(tree, { project: 'tsc-lib' });
expect(
readProjectConfiguration(tree, 'tsc-lib').targets['build']['executor']
).toEqual('@nrwl/js:swc');
expect(
tree.exists(
join(readProjectConfiguration(tree, 'tsc-lib').root, '.lib.swcrc')
)
).toEqual(true);
expect(tree.read('package.json', 'utf-8')).toContain('@swc/core');
expect(tree.read('libs/tsc-lib/package.json', 'utf-8')).toContain(
'@swc/helpers'
);
});
});