generated from hejny/spacetrim
-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathrollup.config.js
68 lines (62 loc) · 2.12 KB
/
rollup.config.js
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import typescript from '@rollup/plugin-typescript';
import { readdirSync } from 'fs';
import { join } from 'path';
export const packages = readdirSync(join(__dirname, 'src/_packages'), { recursive: false, withFileTypes: true })
.filter((dirent) => dirent.isFile())
.filter((dirent) => dirent.name.endsWith('.index.ts'))
.map((dirent) => dirent.name.split('.').shift())
.map((packageName) => {
if (!packageName) {
throw new Error('Invalid package name');
}
return {
isBuilded: true,
packageScope: 'promptbook',
packageName,
packageFullname: `@promptbook/${packageName}`,
dependencies: [
// Note: Dependencies will be added automatically in generate-packages script
],
};
});
// Note: Packages `@promptbook/cli` and `@promptbook/types` are not marked as devDependencies in `promptbook` package to ensure that they are installed
packages.push({
isBuilded: false,
packageScope: null,
packageName: 'promptbook',
packageFullname: 'promptbook',
dependencies: packages.map(({ packageFullname }) => packageFullname),
});
packages.push({
isBuilded: false,
packageScope: null,
packageName: 'ptbk',
packageFullname: 'ptbk',
dependencies: ['promptbook'],
devDependencies: [],
});
// console.info(packages);
export default packages
.filter(({ isBuilded }) => isBuilded)
.map(({ packageName }) => ({
input: `./src/_packages/${packageName}.index.ts`,
output: [
{
file: `./packages/${packageName}/umd/index.umd.js`,
name: `promptbook-${packageName}`,
format: 'umd',
sourcemap: true,
},
{
file: `./packages/${packageName}/esm/index.es.js`,
format: 'es',
sourcemap: true,
},
],
plugins: [
typescript({
tsconfig: './tsconfig.json',
// <- Note: This is essential propper type declaration generation
}),
],
}));