-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathstencil.config.ts
58 lines (53 loc) · 1.39 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
50
51
52
53
54
55
56
57
58
import { Config } from '@stencil/core';
import { sass } from '@stencil/sass';
import getComponentNameSelectorVariableFromStencil from './src/utils/stencil/get-component-name-selector-from-stencil-importer';
const scssVariables = 'src/scss/variables.scss';
const { distDirs } = require('./package.json');
const yargs = require('yargs');
const docs = yargs.argv.docs;
const generatedConfig: Config = {
namespace: 'lib',
buildEs5: process.argv.includes('--es5') || 'prod',
taskQueue: 'async',
srcDir: 'src',
plugins: [
sass({
injectGlobalPaths: [scssVariables],
importer: getComponentNameSelectorVariableFromStencil,
}),
],
globalStyle: 'src/scss/init.scss',
devServer: {
reloadStrategy: 'hmr',
openBrowser: false,
},
outputTargets: [
// creates /dist dir
{
type: 'dist',
dir: distDirs.stencil,
copy: [
// copy fonts into static for storybook and stencil build
{ src: 'fonts' },
],
},
// one file in es6
{
type: 'dist-custom-elements-bundle',
dir: distDirs.stencil,
},
// create components(.d.ts|json) into dist
{
type: 'docs-json',
file: `${distDirs.stencil}/components.json`,
},
],
};
// creates readme.md for components
if (docs) {
generatedConfig.outputTargets.push({
type: 'docs-readme',
dir: 'src',
});
}
export const config: Config = generatedConfig;