forked from QwikDev/qwik
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.ts
More file actions
38 lines (35 loc) · 1.18 KB
/
build.ts
File metadata and controls
38 lines (35 loc) · 1.18 KB
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
import { buildDevServer } from './devserver';
import { copyFiles } from './copy-files';
import { generatePackageJson } from './package-json';
import { submoduleCore } from './submodule-core';
import { submoduleJsxRuntime } from './submodule-jsx-runtime';
import { submoduleOptimizer } from './submodule-optimizer';
import { submoduleQwikLoader } from './submodule-qwikloader';
import { submoduleServer } from './submodule-server';
import { submoduleTesting } from './submodule-testing';
import { mkdirSync, rmSync } from 'fs';
import type { BuildConfig } from './util';
export async function build(config: BuildConfig) {
try {
if (!config.dev) {
rmSync(config.pkgDir, { recursive: true, force: true });
}
try {
// ensure the build pkgDir exists
mkdirSync(config.pkgDir, { recursive: true });
} catch (e) {}
await Promise.all([
submoduleCore(config),
submoduleJsxRuntime(config),
submoduleQwikLoader(config),
submoduleServer(config),
submoduleTesting(config),
generatePackageJson(config),
copyFiles(config),
buildDevServer(config),
]);
await submoduleOptimizer(config);
} catch (e) {
console.error(e);
}
}