]>
Commit | Line | Data |
---|---|---|
1 | import { basename, extname, isAbsolute, join, resolve } from 'path' | |
2 | ||
3 | let rootPath: string | |
4 | ||
5 | function root () { | |
6 | if (rootPath) return rootPath | |
7 | ||
8 | rootPath = __dirname | |
9 | ||
10 | if (basename(rootPath) === 'tools') rootPath = resolve(rootPath, '..') | |
11 | if (basename(rootPath) === 'scripts') rootPath = resolve(rootPath, '..') | |
12 | if (basename(rootPath) === 'common') rootPath = resolve(rootPath, '..') | |
13 | if (basename(rootPath) === 'core-utils') rootPath = resolve(rootPath, '..') | |
14 | if (basename(rootPath) === 'shared') rootPath = resolve(rootPath, '..') | |
15 | if (basename(rootPath) === 'server') rootPath = resolve(rootPath, '..') | |
16 | if (basename(rootPath) === 'dist') rootPath = resolve(rootPath, '..') | |
17 | ||
18 | return rootPath | |
19 | } | |
20 | ||
21 | function buildPath (path: string) { | |
22 | if (isAbsolute(path)) return path | |
23 | ||
24 | return join(root(), path) | |
25 | } | |
26 | ||
27 | function getLowercaseExtension (filename: string) { | |
28 | const ext = extname(filename) || '' | |
29 | ||
30 | return ext.toLowerCase() | |
31 | } | |
32 | ||
33 | function buildAbsoluteFixturePath (path: string, customCIPath = false) { | |
34 | if (isAbsolute(path)) return path | |
35 | ||
36 | if (customCIPath && process.env.GITHUB_WORKSPACE) { | |
37 | return join(process.env.GITHUB_WORKSPACE, 'fixtures', path) | |
38 | } | |
39 | ||
40 | return join(root(), 'server', 'tests', 'fixtures', path) | |
41 | } | |
42 | ||
43 | export { | |
44 | root, | |
45 | buildPath, | |
46 | buildAbsoluteFixturePath, | |
47 | getLowercaseExtension | |
48 | } |