1 | import { resolve as resolvePath } from 'path';
|
2 | import createFile from 'vamtiger-create-file';
|
3 | import elementSnippet from './snippet/webcomponent-element';
|
4 | import elementConfigSnippet from './snippet/webcomponent-config';
|
5 | import getTemplateSnippet from './snippet/webcomponent-get-template';
|
6 | import typesSnippet from './snippet/webcomponent-types';
|
7 |
|
8 | const { cwd } = process;
|
9 | const folder = resolvePath(
|
10 | cwd(),
|
11 | 'source'
|
12 | );
|
13 | const elementPath = resolvePath(
|
14 | folder,
|
15 | 'element.ts'
|
16 | );
|
17 | const configPath = resolvePath(
|
18 | folder,
|
19 | 'config.ts'
|
20 | );
|
21 | const getTemplatePath = resolvePath(
|
22 | folder,
|
23 | 'get-template.ts'
|
24 | );
|
25 | const typesPath = resolvePath(
|
26 | folder,
|
27 | 'types.ts'
|
28 | );
|
29 |
|
30 | export 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 |
|
41 | export interface IParams {
|
42 | packagePath: string;
|
43 | } |
\ | No newline at end of file |