/
internal-app-data.ts
47 lines (41 loc) · 1.38 KB
/
internal-app-data.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
import fs from 'fs-extra';
import { join } from 'path';
import { BuildOptions } from '../utils/options';
import { writePkgJson } from '../utils/write-pkg-json';
import { RollupOptions } from 'rollup';
export async function internalAppData(opts: BuildOptions) {
const inputAppDataDir = join(opts.buildDir, 'app-data');
const outputInternalAppDataDir = join(opts.output.internalDir, 'app-data');
await fs.emptyDir(outputInternalAppDataDir);
// copy @stencil/core/internal/app-data/index.d.ts
await fs.copyFile(join(inputAppDataDir, 'index.d.ts'), join(outputInternalAppDataDir, 'index.d.ts'));
// write @stencil/core/internal/app-data/package.json
writePkgJson(opts, outputInternalAppDataDir, {
name: '@stencil/core/internal/app-data',
description: 'Used for default app data and build conditionals within builds.',
main: 'index.cjs',
module: 'index.js',
types: 'index.d.ts',
});
const internalAppDataBundle: RollupOptions = {
input: {
index: join(inputAppDataDir, 'index.js'),
},
output: [
{
format: 'esm',
dir: outputInternalAppDataDir,
entryFileNames: '[name].js',
preferConst: true,
},
{
format: 'cjs',
dir: outputInternalAppDataDir,
entryFileNames: '[name].cjs',
esModule: false,
preferConst: true,
},
],
};
return internalAppDataBundle;
}