/
update-tsconfig.spec.ts
84 lines (68 loc) · 2.6 KB
/
update-tsconfig.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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import { readJson, readProjectConfiguration, Tree } from '@nrwl/devkit';
import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing';
import { Schema } from '../schema';
import { updateTsconfig } from './update-tsconfig';
import { libraryGenerator } from '../../library/library';
describe('updateTsconfig', () => {
let tree: Tree;
let schema: Schema;
let schemaWithImportPath: Schema;
beforeEach(async () => {
tree = createTreeWithEmptyWorkspace();
schema = {
projectName: 'my-lib',
skipFormat: false,
forceRemove: false,
};
schemaWithImportPath = {
projectName: 'my-lib',
skipFormat: false,
forceRemove: false,
importPath: '@proj/whatever-name',
};
});
it('should delete project ref from the root tsconfig.base.json', async () => {
await libraryGenerator(tree, {
name: 'my-lib',
standaloneConfig: false,
});
const project = readProjectConfiguration(tree, 'my-lib');
updateTsconfig(tree, schema, project);
const tsConfig = readJson(tree, '/tsconfig.base.json');
expect(tsConfig.compilerOptions.paths).toEqual({});
});
it('should delete project ref with importPath from the root tsconfig.base.json', async () => {
await libraryGenerator(tree, {
name: 'my-lib',
standaloneConfig: false,
importPath: '@proj/whatever-name',
});
const project = readProjectConfiguration(tree, 'my-lib');
updateTsconfig(tree, schemaWithImportPath, project);
const tsConfig = readJson(tree, '/tsconfig.base.json');
expect(tsConfig.compilerOptions.paths).toEqual({});
});
it('should delete project ref from the root tsconfig.json when no tsconfig.base.json', async () => {
tree.rename('tsconfig.base.json', 'tsconfig.json');
await libraryGenerator(tree, {
name: 'my-lib',
standaloneConfig: false,
});
const project = readProjectConfiguration(tree, 'my-lib');
updateTsconfig(tree, schema, project);
const tsConfig = readJson(tree, '/tsconfig.json');
expect(tsConfig.compilerOptions.paths).toEqual({});
});
it('should delete project ref with importPath from the root tsconfig.json when no tsconfig.base.json', async () => {
tree.rename('tsconfig.base.json', 'tsconfig.json');
await libraryGenerator(tree, {
name: 'my-lib',
standaloneConfig: false,
importPath: '@proj/whatever-name',
});
const project = readProjectConfiguration(tree, 'my-lib');
updateTsconfig(tree, schemaWithImportPath, project);
const tsConfig = readJson(tree, '/tsconfig.json');
expect(tsConfig.compilerOptions.paths).toEqual({});
});
});