UNPKG

1.1 kBPlain TextView Raw
1import { resolve as resolvePath } from 'path';
2import createFile from 'vamtiger-create-file';
3import elementSnippet from './snippet/webcomponent-element';
4import elementConfigSnippet from './snippet/webcomponent-config';
5import getTemplateSnippet from './snippet/webcomponent-get-template';
6import typesSnippet from './snippet/webcomponent-types';
7
8const { cwd } = process;
9const folder = resolvePath(
10 cwd(),
11 'source'
12);
13const elementPath = resolvePath(
14 folder,
15 'element.ts'
16);
17const configPath = resolvePath(
18 folder,
19 'config.ts'
20);
21const getTemplatePath = resolvePath(
22 folder,
23 'get-template.ts'
24);
25const typesPath = resolvePath(
26 folder,
27 'types.ts'
28);
29
30export default async function ({ packagePath }: IParams) {
31 const { name } = require(packagePath);
32
33 await Promise.all([
34 createFile(elementPath, elementSnippet({ name })),
35 createFile(configPath, elementConfigSnippet),
36 createFile(getTemplatePath, getTemplateSnippet),
37 createFile(typesPath, typesSnippet)
38 ]);
39}
40
41export interface IParams {
42 packagePath: string;
43}
\No newline at end of file