/
stencil.config.ts
49 lines (48 loc) · 1.55 KB
/
stencil.config.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
48
49
import { Config } from '@stencil/core';
import { sass } from '@stencil/sass';
import AngularOutputTarget from './output-targets/angular';
import ReactOutputTarget from './output-targets/react';
import VueOutputTarget from './output-targets/vue';
import JsonDocsOutputTarget from './output-targets/json-docs';
import { join } from 'path';
export const config: Config = {
buildEs5: false,
extras: {
initializeNextTick: true,
// we need this flag to enable our components to be lazy loaded in vite environments (e.g. our storybook)
// see: https://github.com/storybookjs/storybook/issues/25704
experimentalImportInjection: true,
},
globalScript: join(__dirname, 'src/util/import-fonts.ts'),
globalStyle: join(__dirname, 'src/global/styles.scss'),
tsconfig: join(__dirname, 'tsconfig.lib.json'),
enableCache: true,
sourceMap: process.env.NODE_ENV === 'development',
namespace: 'inovex-elements',
taskQueue: 'async',
outputTargets: [
{
type: 'dist',
copy: [{ src: 'assets/ino-icon', dest: 'ino-icon' }],
},
{ type: 'docs-readme' },
{
type: 'docs-vscode',
file: 'dist/html.html-data.json',
sourceCodeBaseUrl: 'https://github.com/inovex/elements//tree/master/packages/elements',
},
JsonDocsOutputTarget,
AngularOutputTarget,
ReactOutputTarget,
VueOutputTarget,
],
plugins: [
sass({
includePaths: ['../../node_modules'].map(d => join(__dirname, d)),
}),
],
testing: {
setupFilesAfterEnv: ['./setupSpecTests.ts'],
},
preamble: 'Crafted with ❤ by inovex GmbH',
};