diff options
author | Kristóf Marussy <kristof@marussy.com> | 2022-12-09 23:49:07 +0100 |
---|---|---|
committer | Kristóf Marussy <kristof@marussy.com> | 2022-12-11 12:18:43 +0100 |
commit | 280a3fab74348697429b7bab56b3436968113d79 (patch) | |
tree | e1603153db18f7f35c1bcceb03462409f75002db /subprojects/frontend/config/fetchPackageMetadata.ts | |
parent | refactor(frontend): lazy load XtextClient (diff) | |
download | refinery-280a3fab74348697429b7bab56b3436968113d79.tar.gz refinery-280a3fab74348697429b7bab56b3436968113d79.tar.zst refinery-280a3fab74348697429b7bab56b3436968113d79.zip |
refactor(frontend): split vite config
Also introduces tsconfig.shared.json to keep track of source files used
both and build time and in the browser.
Diffstat (limited to 'subprojects/frontend/config/fetchPackageMetadata.ts')
-rw-r--r-- | subprojects/frontend/config/fetchPackageMetadata.ts | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/subprojects/frontend/config/fetchPackageMetadata.ts b/subprojects/frontend/config/fetchPackageMetadata.ts new file mode 100644 index 00000000..50807b03 --- /dev/null +++ b/subprojects/frontend/config/fetchPackageMetadata.ts | |||
@@ -0,0 +1,20 @@ | |||
1 | import { readFile } from 'node:fs/promises'; | ||
2 | import path from 'node:path'; | ||
3 | |||
4 | import z from 'zod'; | ||
5 | |||
6 | const PackageInfo = z.object({ | ||
7 | name: z.string().min(1), | ||
8 | version: z.string().min(1), | ||
9 | }); | ||
10 | |||
11 | export default async function fetchPackageMetadata( | ||
12 | thisDir: string, | ||
13 | ): Promise<void> { | ||
14 | const contents = await readFile(path.join(thisDir, 'package.json'), 'utf8'); | ||
15 | const { name: packageName, version: packageVersion } = PackageInfo.parse( | ||
16 | JSON.parse(contents), | ||
17 | ); | ||
18 | process.env['VITE_PACKAGE_NAME'] ??= packageName; | ||
19 | process.env['VITE_PACKAGE_VERSION'] ??= packageVersion; | ||
20 | } | ||