forked from Shopify/quilt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathloom.config.ts
36 lines (33 loc) · 1.01 KB
/
loom.config.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
import {createWorkspace, createWorkspaceTestPlugin} from '@shopify/loom';
import {
buildLibrary,
buildLibraryWorkspace,
} from '@shopify/loom-plugin-build-library';
import {eslint} from '@shopify/loom-plugin-eslint';
import {prettier} from '@shopify/loom-plugin-prettier';
// Needed so TS realises what configuration hooks are provided by Jest
import type {} from '@shopify/loom-plugin-jest';
export default createWorkspace((workspace) => {
workspace.use(
buildLibraryWorkspace(),
eslint(),
prettier({files: '**/*.{md,json,yaml,yml}'}),
runWorkspaceTests(),
);
});
function runWorkspaceTests() {
return createWorkspaceTestPlugin('SK.WorkspaceTests', ({hooks}) => {
hooks.configure.hook((hooks) => {
hooks.jestConfig?.hook((config) => {
if (Array.isArray(config.projects)) {
config.projects.unshift({
...(config.projects[0] as any),
displayName: 'root',
rootDir: 'tests',
});
}
return config;
});
});
});
}