1 | import { resolve as resolvePath, dirname } from 'path';
|
2 | import createFolder from 'vamtiger-create-directory';
|
3 | import createFile from 'vamtiger-create-file';
|
4 | import { ICreateWebComponentHtml } from './types';
|
5 | import getHtml from './get-web-component-test-html';
|
6 | import browserTestSnippet from './snippet/webcomponent-test-browser';
|
7 | import loadScriptTestSnippet from './snippet/webcomponent-test-load-script';
|
8 | import nodeScriptTestSnippet from './snippet/webcomponent-test-node';
|
9 | import generateTestSnippet from './snippet/webcomponent-test-generate';
|
10 |
|
11 | const { cwd } = process;
|
12 | const folder = resolvePath(
|
13 | cwd(),
|
14 | 'source',
|
15 | 'test',
|
16 | 'html'
|
17 | );
|
18 | const testFolder = dirname(folder);
|
19 | const htmlPath = resolvePath(
|
20 | folder,
|
21 | 'test.html'
|
22 | );
|
23 | const cssPath = resolvePath(
|
24 | folder,
|
25 | 'test.css'
|
26 | );
|
27 | const browserTest = resolvePath(
|
28 | testFolder,
|
29 | 'browser.ts'
|
30 | );
|
31 | const loadScriptTest = resolvePath(
|
32 | testFolder,
|
33 | 'load-script.ts'
|
34 | );
|
35 | const nodeScriptTest = resolvePath(
|
36 | testFolder,
|
37 | 'node.ts'
|
38 | );
|
39 | const generateScriptTest = resolvePath(
|
40 | testFolder,
|
41 | 'generate.ts'
|
42 | );
|
43 |
|
44 | export default async function ({ packagePath }: ICreateWebComponentHtml) {
|
45 | const { name } = require(packagePath);
|
46 | const html = getHtml({ name });
|
47 |
|
48 | await createFolder(folder);
|
49 |
|
50 | await Promise.all([
|
51 | createFile(htmlPath, html),
|
52 | createFile(cssPath, ''),
|
53 | createFile(browserTest, browserTestSnippet),
|
54 | createFile(loadScriptTest, loadScriptTestSnippet({ name })),
|
55 | createFile(nodeScriptTest, nodeScriptTestSnippet),
|
56 | createFile(generateScriptTest, generateTestSnippet)
|
57 | ]);
|
58 | } |
\ | No newline at end of file |